Cryptocurrency Calendar 스크래핑 1
소스 코드
import requests
import lxml.html
r = requests.get("https://coinmarketcal.com/")
html = r.text
root = lxml.html.fromstring(html)
time_of_event = root.xpath(
"/html/body/main/div[3]/section[1]/div[2]/div[3]/article[1]/div/h5[1]/strong")
print(time_of_event[0].text.strip())
#strip()で出力結果の前後の空白を抜け出す
title_of_event = root.xpath(
"/html/body/main/div[3]/section[1]/div[2]/div[3]/article[1]/div/h5[2]/strong")
print(title_of_event[0].text.strip())
sort_of_event = root.xpath(
"/html/body/main/div[3]/section[1]/div[2]/div[3]/article[1]/div/h5[3]")
print(sort_of_event[0].text.strip())
content_of_event = root.xpath(
"/html/body/main/div[3]/section[1]/div[2]/div[3]/article[1]/div/div[1]/p[2]")
print(content_of_event[0].text.strip())
실행 결과
15 March 2018
Burst (BURST)
Hard Fork
Dynamic block size and transaction fees, PoC2 protocol, partial Dymaxion code... The fork is planned to happen around block 470 000.
해설
XPath에서 HTML에서 요소를 추출했습니다. Google 크롬에서 지정된 XPath를 추출할 수 있습니다.
XPath를 사용하는 것에 유의하는 것은 배열의 첨자가 0부터 시작하는 것이 아니라 1부터 시작한다는 것입니다. XPath는 Google 크롬을 사용하여 추출할 수 있지만 완전한 XPath가 아니라 그대로 사용할 수는 없습니다. 그래서 스스로 보충해야합니다.
사이트에는 수십 개의 에벤트가 있습니다만, 이 소스 코드에서는 1개의 에벤트밖에 빼낼 수 밖에 없습니다. 다음 번에는 XPath 지정을 고안하여 한 페이지에서 모든 이벤트를 꺼내 보겠습니다.
참고로 한 책
Python에 의한 크롤러 & 스크래핑 입문 설계·개발부터 수집 데이터의 해석·운용까지
Reference
이 문제에 관하여(Cryptocurrency Calendar 스크래핑 1), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Jhon_Connor/items/cf248d3bc87a60e112e2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)