일괄 처리를 사용하여 여러 URL을 컬링하고 결과를 txt 파일에 저장

d' natsu

curl을 배치 파일과 함께 사용하여 여러 웹 사이트에서 데이터를 가져온 다음 curl 결과를 텍스트 파일에 저장하고 싶습니다.

내가 아는 구문은 다음과 같습니다.

curl "https://nominatim.openstreetmap.org/reverse?format=jsonv2&lat=-19.587492&lon=125.952764" >> output.txt
curl "https://nominatim.openstreetmap.org/reverse?format=jsonv2&lat=-19.587493&lon=125.952765" >> output.txt
curl "https://nominatim.openstreetmap.org/reverse?format=jsonv2&lat=-19.587494&lon=125.952766" >> output.txt
curl "https://nominatim.openstreetmap.org/reverse?format=jsonv2&lat=-19.587495&lon=125.952767" >> output.txt
curl "https://nominatim.openstreetmap.org/reverse?format=jsonv2&lat=-19.587496&lon=125.952768" >> output.txt

위의 컬을 루핑으로 변경했는데 잘 작동합니다. 다음 결과가 다음 줄로 이동할 수 있도록 LF를 설정했지만 작동하지 않았습니다. 여기 내 스크립트 :

@echo off
set setlocal EnableDelayedExpansion

set url1="https://nominatim.openstreetmap.org/reverse?format=jsonv2&lat=-19.587492&lon=125.952764"
set url2="https://nominatim.openstreetmap.org/reverse?format=jsonv2&lat=-19.587493&lon=125.952765"
set url3="https://nominatim.openstreetmap.org/reverse?format=jsonv2&lat=-19.587494&lon=125.952766"
set url4="https://nominatim.openstreetmap.org/reverse?format=jsonv2&lat=-19.587495&lon=125.952767"
set url5="https://nominatim.openstreetmap.org/reverse?format=jsonv2&lat=-19.587496&lon=125.952768"

(set LF=^
%=EMPTY=%
)

echo %url1%
for %%x in (set) do (
 curl %url1%%LF%
 curl %url2%%LF%
 curl %url3%%LF%
 curl %url4%%LF%
 curl %url5%%LF%
)> output.txt
왕국

처리 중인 URL이 실제로 JSON 개체인 동안 일반 텍스트 파일을 출력으로 사용하려는 것이 정말 이상합니다. 여러 JSON 객체를 유효한 JSON으로 올바르게 저장하려면 JSON 배열에 넣어야 합니다. 를 해결하려면
과 같은 도구를 사용하는 것이 훨씬 좋습니다 .

언급한 5개의 URL을 수동으로 입력할 수 있습니다.

xidel -se ^"^
  array{^
    json-doc('https://nominatim.openstreetmap.org/reverse?format=jsonv2^&lat=-19.587492^&lon=125.952764'),^
    json-doc('https://nominatim.openstreetmap.org/reverse?format=jsonv2^&lat=-19.587493^&lon=125.952765'),^
    json-doc('https://nominatim.openstreetmap.org/reverse?format=jsonv2^&lat=-19.587494^&lon=125.952766'),^
    json-doc('https://nominatim.openstreetmap.org/reverse?format=jsonv2^&lat=-19.587495^&lon=125.952767'),^
    json-doc('https://nominatim.openstreetmap.org/reverse?format=jsonv2^&lat=-19.587496^&lon=125.952768')^
  }^
"

...하지만 동적으로 빌드할 수도 있습니다.

xidel -se ^"^
  let $json:={'format':'jsonv2','lat':-19.587492,'lon':125.952764} return^
  map:merge(^
    ($json,{'lat':$json/lat - 0.000001},{'lon':$json/lon + 0.000001}),^
    {'duplicates':'use-last'}^
  )^
" --printed-json-format=compact
{"format": "jsonv2", "lat": -19.587493, "lon": 125.952765}
xidel -s --xquery ^"^
  let $json:={'format':'jsonv2','lat':-19.587492,'lon':125.952764}^
  for $x in 0 to 4^
  return^
  map:merge(^
    (^
      $json,^
      {'lat':$json/lat - ($x * 0.000001)},^
      {'lon':$json/lon + ($x * 0.000001)}^
    ),^
    {'duplicates':'use-last'}^
  )^
" --printed-json-format=compact
{"format": "jsonv2", "lat": -19.587492, "lon": 125.952764}
{"format": "jsonv2", "lat": -19.587493, "lon": 125.952765}
{"format": "jsonv2", "lat": -19.587494, "lon": 125.952766}
{"format": "jsonv2", "lat": -19.587495, "lon": 125.952767}
{"format": "jsonv2", "lat": -19.587496, "lon": 125.952768}
xidel -s --xquery ^"^
  let $json:={'format':'jsonv2','lat':-19.587492,'lon':125.952764}^
  for $x in 0 to 4^
  return^
  request-combine(^
    'https://nominatim.openstreetmap.org/reverse',^
    map:merge(^
      (^
        $json,^
        {'lat':$json/lat - ($x * 0.000001)},^
        {'lon':$json/lon + ($x * 0.000001)}^
      ),^
      {'duplicates':'use-last'}^
    )^
  )/url^
"
https://nominatim.openstreetmap.org/reverse?format=jsonv2&lat=-19.587492&lon=125.952764
https://nominatim.openstreetmap.org/reverse?format=jsonv2&lat=-19.587493&lon=125.952765
https://nominatim.openstreetmap.org/reverse?format=jsonv2&lat=-19.587494&lon=125.952766
https://nominatim.openstreetmap.org/reverse?format=jsonv2&lat=-19.587495&lon=125.952767
https://nominatim.openstreetmap.org/reverse?format=jsonv2&lat=-19.587496&lon=125.952768
xidel -s --xquery ^"^
  array{^
    let $json:={'format':'jsonv2','lat':-19.587492,'lon':125.952764}^
    for $x in 0 to 4^
    return^
    request-combine(^
      'https://nominatim.openstreetmap.org/reverse',^
      map:merge(^
        (^
          $json,^
          {'lat':$json/lat - ($x * 0.000001)},^
          {'lon':$json/lon + ($x * 0.000001)}^
        ),^
        {'duplicates':'use-last'}^
      )^
    )/json-doc(url)^
  }^
"
[
  {
    "place_id": 259803148,
    "licence": "Data c OpenStreetMap contributors, ODbL 1.0. https://osm.org/copyright",
    "osm_type": "relation",
    "osm_id": 11690317,
    "lat": "-21.5177325",
    "lon": "123.52595630504817",
    "place_rank": 20,
    "category": "boundary",
    "type": "administrative",
    "importance": 0.25,
    "addresstype": "suburb",
    "name": "Telfer",
    "display_name": "Telfer, Shire Of East Pilbara, Western Australia, Australia",
    "address": {
      "suburb": "Telfer",
      "municipality": "Shire Of East Pilbara",
      "state": "Western Australia",
      "country": "Australia",
      "country_code": "au"
    },
    "boundingbox": ["-23.509751", "-19.5", "120.064128", "126.001296"]
  },
  [...]
]

또는 물론 축소된 버전(이스케이프 문자 필요 없음):

xidel -s --xquery "array{let $json:={'format':'jsonv2','lat':-19.587492,'lon':125.952764} for $x in 0 to 4 return request-combine('https://nominatim.openstreetmap.org/reverse',map:merge(($json,{'lat':$json/lat - ($x * 0.000001)},{'lon':$json/lon + ($x * 0.000001)}),{'duplicates':'use-last'}))/json-doc(url)}"

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

makefile을 사용하여 .txt 파일에 결과를 저장하지만 상대 경로에 저장

버튼을 사용하여 JTextArea를 .txt 파일에 저장

Boto3를 사용하여 Amazon Translate 출력을 .txt 파일에 저장

python3을 사용하여 html 콘텐츠를 txt 파일에 저장

파일에 붙여 넣기 명령을 사용하고 결과를 동일한 파일에 저장합니다.

AppleScript를 사용하여 이메일을 txt 파일로 저장하는 방법

pandas를 사용하여 txt 파일을 csv로 처리

RxJS를 사용하여 일괄 처리?

HTML과 PHP를 사용하여 파일 txt를 저장하는 방법

파일에 쓰지 않고 Paperclip을 사용하여 RMagick 처리 된 이미지를 저장하는 방법

사용자 및 비밀번호를 사용하여 출력을 원격 서버의 txt 파일에 저장

CSV 파일에 저장된 여러 URL의 URL 상태를 확인하고 결과를 새 CSV 파일에 저장하는 방법

파일 및 폴더 구조를 하나씩 복사하여 결과를 확인하고 보고서를 txt에 저장하는 배치 파일

Windows cmd를 사용하여 모든 커밋 diff를 txt 파일에 저장

각도 js를 사용하여 txt 파일의 모든 값을 로컬 저장소로 푸시하는 방법

파이썬을 사용하여 각 결과를 csv 파일에 새 줄에 저장

PHP를 사용하여 텍스트 영역의 내용을 .txt 파일에 저장

프린터를 사용하여 Java에서 저장된 txt 파일을 인쇄하는 방법

txt 파일에서 sed / awk를 사용하여 문자열을 변수에 저장

Flask를 사용하여 브라우저를 통해 txt 파일을로드하고 처리를 위해 데이터에 액세스

Java에서 저장소 저장 호출을 사용하여 txt 파일의 모든 줄에 데이터를 저장하는 방법

fgets ()를 사용하여 파일에서 여러 줄을 읽고 포인터 배열에 저장

wget -P를 사용하여 파일을 버킷에 저장

Windows를 사용하여 PostgreSQL 셸 출력을 파일에 저장

Pcapy를 사용하여 패킷을 pcap 파일에 저장

JavaScript를 사용하여 CSV 파일을 배열에 저장

Python에서 Praw를 사용하여 저장된 레딧 게시물 목록을 txt 파일로 긁는 방법

폴더의 여러 파일에 대해 일괄 처리를 사용하여 캐리지 리턴 제거

자바 스크립트를 사용하여 csv txt 파일을 읽고 결과를 배열에로드

TOP 리스트

  1. 1

    C # 16 진수 값 0x12는 잘못된 문자입니다.

  2. 2

    Matlab의 반복 Sortino 비율

  3. 3

    Python의 csv 파일에서 첫 번째 열 삭제

  4. 4

    개체 참조가 개체의 인스턴스로 설정되지 않았습니까? (예외 오류 ~ ASP.NET MVC)

  5. 5

    atob은 인코딩 된 base64 문자열을 디코딩하지 않습니다.

  6. 6

    EventEmitter <string>의 컨텍스트 'this'가 Observable <string> 유형의 'this'메서드에 할당되지 않았습니다.

  7. 7

    병합 셀을 사용하여 워크 시트의 데이터 필터링

  8. 8

    PhpStorm 중단 점에서 변수 값을 볼 수 없습니다.

  9. 9

    jQuery에서 이벤트 핸들러를 제거하는 가장 좋은 방법은 무엇입니까?

  10. 10

    `@ Transactional`이 있음에도 불구하고 이러한 데이터베이스 수정 사항이 롤백되지 않는 이유는 무엇입니까?

  11. 11

    ssh를 사용하여 원격에서 로컬로 파일 복사

  12. 12

    종속 사용자 정의 Lightning 선택 목록 Level2 및 Level3을 설정한 다음 Lightning 구성 요소에서 Level2를 재설정하지만 Level2 캐시 데이터가 저장됨

  13. 13

    2 개의 이미지를 단일 평면 이미지로 결합

  14. 14

    팝업처럼 위젯을 표시하는 방법

  15. 15

    [해결] 쿠키 설정 SameSite = Chrome / JSP, JAVASCRIPT에서 작동하지 않습니다.

  16. 16

    버튼 클릭을 기반으로 특정 CSS 클래스를 추가하는 방법은 무엇입니까?

  17. 17

    React 구성 요소가 자동으로 초기 상태로 다시 렌더링됩니다.

  18. 18

    연결된 서버 쿼리는 작동하지만 동일한 OPENQUERY는 "sys.servers에서 서버 'SERVER'를 찾을 수 없습니다.

  19. 19

    파일 2의 파일 1에서 동일한 줄을 조건으로 바꿉니다.

  20. 20

    아이디어 Intellij : 종속성 org.json : json : 20180813을 찾을 수 없음, maven에서 org.json 라이브러리를 가져올 수 없음

  21. 21

    상황에 맞는 메뉴 색상

뜨겁다태그

보관