나는 파이썬을 사용하여 무한 스크롤로 구현 된 웹 사이트를 긁어 모으려고합니다. 사실, 웹은 흥미 롭습니다. 셀레늄 webdriver를 사용하여 무한한 스크롤로 웹을 긁는 방법을 알고 있습니다. 그러나 웹 드라이버는 기본적으로 웹 방문 프로세스를 모방하고 Scraping을 위해 BeautifulSoup 및 urllib를 사용하는 것보다 느리며 훨씬 느립니다. 무한 스크롤로 웹을 긁을 수있는 효율적인 방법을 언제 알고 있습니까? 감사.무한 스크롤로 웹 사이트를 긁을 수있는 빠른 방법이 있습니까?
0
A
답변
3
무한한 스크롤은 아마도 스크롤 할 때 더 많은 데이터를 검색하기 위해 Ajax 쿼리를 사용하고있을 것이다. 브라우저의 개발 도구를 사용하여 요청 구조를 조사하고 동일한 엔드 포인트를 직접 시도하십시오. 이 방법으로 필요한 데이터를 json 또는 xml 형식으로 얻을 수 있습니다.
크롬에서 dev 도구 (Windows에서는 Ctrl + Shift + I)를 열고 네트워크 탭으로 전환하십시오. 그런 다음 스크롤을 시작하면 더 많은 콘텐츠가로드되면 새로운 네트워크 활동이 표시됩니다. 특히 Ajax 요청은 "xhr"로 필터링 할 수 있습니다. 새로운 네트워크 항목을 클릭하면 헤더, 요청 본문, 응답 구조 및 요청이 부딪 치는 url (끝점)과 같은 요청에 대한 자세한 정보가 표시됩니다. 이 URL을 스크랩하는 것은 서식이 지정된 데이터를 통해 구문 분석 할 HTML이없는 것을 제외하고는 웹 사이트를 스크랩하는 것과 동일합니다.
일부 웹 사이트는 이러한 유형의 동작을 차단하려고 시도합니다. 그럴 경우 셀 늄이없는 팬텀을 사용하는 것이 좋습니다. 웹 사이트에서의 인간 상호 작용을 모방하는 데 매우 (셀레늄과 비교하여) 빠릅니다.
관련 문제
- 1. 무한 스크롤을 사용하여 웹 사이트를 긁을
- 2. 어떻게 웹 사이트를 긁을 수 있습니까?
- 3. 빠른 방법으로 50,000 개 이상의 웹 사이트를 긁을
- 4. 끝없는 무한 스크롤로 웹 페이지를 만들 수 있습니까?
- 5. 무한 스크롤로 그리드가 깨집니다.
- 6. 무한 스크롤로 반복되는 게시물
- 7. 치료는 웹 사이트를 긁을 수 없습니다
- 8. 무한 스크롤로 백 버튼 구현
- 9. Jaunt 웹 스크레이퍼가이 자바 스크립트 사이트를 긁을 수 있습니까
- 10. Perl을 사용하여 JavaScript로 내용을 표시하는 웹 사이트를 긁을 수 있습니까?
- 11. POST 데이터가 필요한 PHP를 통해 웹 사이트를 긁을 수 있습니까?
- 12. 노드를 사용하여이 사이트를 긁을 수 있습니까?
- 13. 웨이 포인트 빠른 스크롤로 벽돌 문제가있는 무한 스크롤
- 14. 무한 스크롤로 아약스를 사용하여 성능을
- 15. ASP.NET 웹 사이트를 시각적으로 볼 수있는 방법이 있습니까?
- 16. 아이폰없이 아이폰없이 웹 사이트를 테스트 할 수있는 방법이 있습니까?
- 17. 도메인 이름의 일부로 웹 사이트를 검색 할 수있는 방법이 있습니까?
- 18. 누군가 귀하의 웹 사이트를 북마크에 추가했는지 알 수있는 방법이 있습니까?
- 19. 즉시 jQuery 무한 스크롤로 로딩을 시작하십시오.
- 20. 플래시를 긁을 수 있습니까?
- 21. 웹 데이터 서비스를 찾을 수있는 방법이 있습니까?
- 22. 더 빠른 방법이 있습니까?
- 23. 빠른 웹 요청을 할 수있는 도구가 있습니까?
- 24. 무한 스크롤로 다시로드/새로 고침하는 방법
- 25. 안드로이드에서 무한 스크롤로 목록보기 반복 항목
- 26. webview에서 빠른 스크롤 썸을 구현할 수있는 방법이 있습니까?
- 27. 무한 스크롤로 호출 된 요소에 jquery 적용
- 28. Tumblr이 무한 스크롤로 버튼 상태가 됨
- 29. Tumblr 오디오 게시물이 무한 스크롤로 작동하지 않습니다
- 30. AJAX 항목을 무한 스크롤로 석조에 추가하십시오.
'selenium.webdriver.PhantomJS' 또는 Javascript에서 곧은'phantomjs'를 의미합니까? – jfs
내가 선호하는 것은 직선 팬텀이다. 왜냐하면 오버 헤드가 적기 때문이다. 솔직히 셀렌과 함께 사용할 때 그 차이는 작다. Selenium + phantomjs는 headless가 아닌 브라우저에서 webdriver를 사용하는 것보다 훨씬 빠릅니다. – bspates
@bspates 저는 초보자입니다. 필자가 언급 한 첫 번째 방법 (요청 구조를 검사하고 동일한 끝점을 직접 지정하는 방법)은 아닙니다. 다음 url을 예로 들어 설명해 주시겠습니까? [link] (http://www.pinterest.com/cremedelacrumb/followers/) –