python으로 업데이트 정보를 봉인하여 가져오기
하고 싶은 일
이벤트 사이트 (;)를 참고하십시오.
봉쇄된 설치와 환경 주위를 기록하다.
모듈
기본적으로 anaconda나 표준 라이브러리에 추가된 다음 내용을 사용합니다.
에이전트 도구
개발 과정에서 고등어에게 여러 차례 요청을 해 미안한 마음에 피하고 싶었다.
두 가지 방법을 생각해 봤는데 2면 전선을 바꿀 필요가 없어서 먼저 저쪽에 있어요.
Charles 구성
브라우저로 접근하면 text 파일로 먼저 지정됩니다.
덮어쓰다
크롬 개발 도구와 뷰티풀 수프를 사용했다면 정말 스컬립을 간단하게 진행할 수 있었을 텐데요.
from urllib.parse import urlparse,urljoin
from bs4 import BeautifulSoup
import requests
import pickle
def formatPost(event):
#140文字制限にひっかからないようにイベント名スライス
return "{0}\n{1}\n{2}".format(event[0],event[1][:140-len(event[0])-len(event[2])],event[2])
def getEvents():
#晒すとまずそうなので
url = "hogehoge.jp"
root = '{uri.scheme}://{uri.netloc}/'.format(uri=urlparse(url))
#証明書エラーを無視
r = requests.get(url, verify=False)
soap = BeautifulSoup(r.text,"lxml")
#Only the following pseudo-classes are implemented: nth-of-type.
#chromeの開発ツール->copy selectorでcssセレクタをコピってきて実行するとエラーになるので一部要変更
#こんな感じ li:nth-child(1) -> li:nth-of-type(1)
#必要な要素だけタプル型(dictとか可変の型はNGっぽい)で抽出して集合に突っ込む
set_evnets = {(div.select("header > ul > li:nth-of-type(1) > span.c-eventSummary-datetime > time")[0].text,
div.select("header > a > h2 > span")[0].text,
urljoin(root,div.select("div.c-eventSummary-image.js-eventSummary-image > a:nth-of-type(1)")[0].get("href")))
for div in soap.select("#eventlist > div > article")}
#前回取得分復元
try:
with open('events.pickle', 'rb') as f:
set_evnets_old = pickle.load(f)
except:
set_evnets_old = set()
#今回取得分で上書き保存
with open('events.pickle', 'wb') as f:
pickle.dump(set_evnets, f)
#今回分-前回分のリストをツイートできるように整形して返す
return list(map(formatPost,set_evnets - set_evnets_old))
if __name__ == "__main__":
for event in getEvents():
#tweetしたかったらこんな感じで実装すればおk
#post(event)
주목점
이번에 겨냥한 캠페인 사이트는 모집 상황, 개최지, 성별 등에 비춰볼 때 기본적으로 여러 페이지를 넘지 않아 시행되지 않았지만, 실제로 하려면 스크롤해 업데이트 정보를 유출하지 않도록 해야 한다.
만약 검색 결과가 마지막 페이지로 연결되지 않았다면 (왜 링크가 없는지)
호출을 할 때 url 매개 변수로 페이지를 전달하고 처음부터 커다란 숫자를 주면 마지막 페이지의 링크가 표시됩니다.어떤 사이트에서는 이렇습니다.
과제.
마지막으로 작성된 트위터에 포스트 모듈을 사용해 로컬로 이동하면 좋은 느낌을 받을 수 있기 때문에 Heroku에 대한 deprovice를 진행하고 싶습니다.
이번 이벤트는픽셀의 이름으로 파일을 저장하고 Heroku를 잘 지목해야 될 것 같아요.부터 시도해 보세요.
Reference
이 문제에 관하여(python으로 업데이트 정보를 봉인하여 가져오기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/nkg/items/3425006bf9cb59271d1f
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
마지막으로 작성된 트위터에 포스트 모듈을 사용해 로컬로 이동하면 좋은 느낌을 받을 수 있기 때문에 Heroku에 대한 deprovice를 진행하고 싶습니다.
이번 이벤트는픽셀의 이름으로 파일을 저장하고 Heroku를 잘 지목해야 될 것 같아요.부터 시도해 보세요.
Reference
이 문제에 관하여(python으로 업데이트 정보를 봉인하여 가져오기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/nkg/items/3425006bf9cb59271d1f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)