스크래핑 할 때 나름대로의 모범 사례
파이썬 요소가 얇아졌지만 스크래핑 맥락에서 파이썬이 잘 나올 것 같아서 용서하십시오.
개요
구축 방법의 중요한 점
중요한 점은 다음 두 점
구성도는 다음과 같은 느낌입니다. (OS라든지 쓰지 않았지만 대체로 이미지)
Python 부분은 선택적으로 Selenium을 두드리면 무엇이든 좋다. (아래 Python은 Selenium을 사용하는 물건으로 읽어보십시오)
JavaScript를 사용하여 스크래핑 처리
스크레핑 관계의 시스템을 만들 때 귀찮은 것은 라이브러리 선정이기도 합니다.
개인적으로 Python은 좋아하기 때문에 옛날에는 PyQuery
라든지 BeautifulSoup
를 만졌습니다.
그러나 상당히 귀찮습니다.
어떤 식으로 셀렉터를 쓰면 좋은지 구그라고 실행해, 실수는, 수정해,...같은 느낌이 듭니다.
최종 결론은 "Chrome Developer Tools에서 JS의 선택기를 작성하고 원하는 정보를 얻는 JS를 작성한 다음 Selenium에서 실행하도록합니다."(이것이 제일 편하다고 생각합니다.)
(아마도 jQuery를 만진 적이 있다면 가장 쉽습니다)
다음과 같은 감자.
res = driver.execute_script(driver, """
return (() => {
// 以下をChrome Developmer Toolsでいろいろ試して作成する
let tmp = [];
$(".sample-area li a").each( (idx, element) => tmp.push($(element).attr("href")) )
return tmp
})()
""")
Chrome Developmer Tools는 다음과 같은 녀석. F12라든지 누르면 됩니다. (Console 탭을 열면 JS를 페이지 내에서 실행할 수 있습니다)
간단한 이야기, 클래스 정보라든지 둥근 복사해서 $(".class").text()
이것을 라이브러리의 특유의 함수로 여러가지 하려고 하면 귀찮은 것은 어쩐지 알 수 있다고 생각합니다.
또한 스크립트가 JS이므로 스크래핑 라이브러리에 의존하지 않고 이식도 쉽습니다.
Chrome, ChromeDrive, Selenium 등의 스크래핑 환경에는 Docker 등을 사용
ChromeDriver의 설정이나 Chrome과의 버전의 궁합이나 여러가지 하는 것은 인생의 낭비입니다.
Docker나 환경을 완전히 이루는 것을 사용합시다.
단순한 HTML, CSS만으로 구성되어 있는 사이트라면 curl
(단순한 웹 사이트라면 ← 여기 중요)
서버 측에서 렌더링 되더라도 내부 JS에서 비교적 뭔가 고리 고리 놀고있는 사이트는 많습니다.
Python+Chrome+ChromeDrive+Selenium의 구성 샘플을 만들어 보았으므로 스타를 붙이면 기뻐합니다. ↓
htps : // 기주 b. 코 m / 레 d 쇼가 / py 텐 쵸 니 m 콘 r
구현 흐름
res = driver.execute_script(driver, """
return (() => {
// 以下をChrome Developmer Toolsでいろいろ試して作成する
let tmp = [];
$(".sample-area li a").each( (idx, element) => tmp.push($(element).attr("href")) )
return tmp
})()
""")
ChromeDriver의 설정이나 Chrome과의 버전의 궁합이나 여러가지 하는 것은 인생의 낭비입니다.
Docker나 환경을 완전히 이루는 것을 사용합시다.
단순한 HTML, CSS만으로 구성되어 있는 사이트라면
curl
(단순한 웹 사이트라면 ← 여기 중요)서버 측에서 렌더링 되더라도 내부 JS에서 비교적 뭔가 고리 고리 놀고있는 사이트는 많습니다.
Python+Chrome+ChromeDrive+Selenium의 구성 샘플을 만들어 보았으므로 스타를 붙이면 기뻐합니다. ↓
htps : // 기주 b. 코 m / 레 d 쇼가 / py 텐 쵸 니 m 콘 r
구현 흐름
끝
마사카 리다 니가로> 🐈💨💨 🔪💨
Reference
이 문제에 관하여(스크래핑 할 때 나름대로의 모범 사례), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/redshoga/items/fc088fd53a5b6773f0aa
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(스크래핑 할 때 나름대로의 모범 사례), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/redshoga/items/fc088fd53a5b6773f0aa텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)