답변:
나는 @oneqeightyfour의 답변에 연결된 스크립트의 저자입니다. 파티에 조금 늦었지만 여기에 사용할 수있는 수정 된 스크립트 버전이 있습니다.
이 작업을 수행한다고 주장 하는 원 클릭 사이트 를 찾았 지만 작동시키지 못했습니다. 먼저 시도하고 싶습니까?
API 사용은 프로그래밍 관점에서 사이트를 긁어내는 것보다 훨씬 간단합니다. 또한 Tumblr T & C는 API를 거치지 않고 데이터에 대량 액세스하는 데 어려움을 겪었습니다.
API 키를 얻으려면
"등록 신청"을 선택하고 다음 세부 사항을 사용하십시오.
첫 페이지로 돌아갑니다. 당신은 표시됩니다 OAuth 고객 키 . 이것을 복사하십시오 – 우리는 곧 그것을 사용할 것입니다.
이것은 약간 수정 된 버전의 스크립트입니다. 이를 텍스트 편집기 (예 : TextEdit 또는 메모장)에 복사하여 붙여넣고로 저장하십시오 originals.py
.
HOSTNAME
변수를 블로그 URL로 바꾸고 API_KEY
1 단계에서 검색 한 OAuth 컨슈머 키로 변수를 바꿔야합니다 .
#!/usr/bin/env python
import json
try:
from urllib.request import urlopen
except ImportError:
from urllib2 import urlopen
HOSTNAME = "alexwlchan.tumblr.com"
API_KEY = "abcdefg"
BASE_URL = (
"http://api.tumblr.com/v2/blog/{hostname}/"
"posts?api_key={key}&reblog_info=true"
) .format(hostname=HOSTNAME,key=API_KEY)
def api_response(url):
req = urlopen(url)
return json.loads(req.read())
jsonresponse = api_response(BASE_URL)
post_count = jsonresponse["response"]["total_posts"]
for count in range(0, post_count, 20):
jsonresponse = api_response("{url}&offset={count}".format(
url=BASE_URL,
count=count))
for post in jsonresponse["response"]["posts"]:
if "reblogged_from_name" not in post:
print(post["post_url"])
print("All finished!")
이 스크립트는 Python 2 또는 3에 적합한 Python 스크립트입니다. Google을 사용하는 경우 선택한 운영 체제에서 Python 스크립트를 실행하기위한 지침을 찾을 수 있습니다.
스크립트는 Tumblr API에서 다시 블로그 정보를 얻지 못한 URL 목록을 인쇄합니다. 내 (매우 간단한) 테스트에서 실제로 블로그로 변경 한 소수의 URL을 선택하는 것처럼 보였습니다. 그 이유를 알아 내기 위해 발굴하지 않았습니다.
즐기세요! :-)
인터넷상의 누군가가 이것 에 대한 스크립트를 작성했으며 Github에서 찾을 수 있습니다 . 호스트 이름 및 API 키의 매개 변수를 고유 한 텀블러 호스트 이름으로 변경하고 각각 고유 한 API 키를 추가해야합니다.
호스트 이름은 "x.tumblr.com"과 같습니다 ( ""표시로 묶어야합니다).
그런 다음 Tumblr에서 API 키를 가져와야합니다. 이것을하기 위해:
다음 세부 정보가있는 등록 신청서를 클릭하십시오.
이전 페이지로 돌아가 소비자 키가 제공됩니다.
가져온 키를 스크립트에 붙여넣고 실행하십시오.
스크립트와 코딩에 익숙하지 않은 경우 "원 클릭"솔루션 사이트를 사용 하고 Tumblr의 URL을 제공 할 수도 있습니다.