【发布时间】:2018-12-11 15:54:07
【问题描述】:
我想知道什么是最好/首选的 PYTHON 3.x 解决方案(执行速度快、易于实施、指定用户代理的选项、将浏览器和版本等发送到网络服务器以避免我的 IP 被列入黑名单)抓取以下所有选项的数据(根据我的理解基于复杂性提及)。
- 任何带有表格/Div 中数据的静态网页
- 动态网页,一键加载
- 需要使用用户名密码登录并在我们登录后一次性完成加载的动态网页。 用户名密码的示例 URL:https://dashboard.janrain.com/signin?dest=http://janrain.com
- 动态网页,需要使用来自流行服务(如 LinkedIn、google 等)的 oauth 登录,并在我们登录后一次性完成加载。我了解这涉及一些页面重定向、令牌处理等。 基于 oauth 的登录示例 URL:https://dashboard.janrain.com/signin?dest=http://janrain.com
- 上面的所有要点 4 与选择某些下拉列表的选项相结合(比如“按日期排序”)或可能涉及选择某些复选框,显示的动态数据会根据这些复选框发生变化。 在执行复选框/下拉菜单的操作后,我需要抓取数据,因为任何用户都会这样做以更改动态数据的显示 示例网址 - https://careers.microsoft.com/us/en/search-results?rk=l-seattlearea 您可以选择下拉菜单以及页面中的某些复选框
- 具有 Ajax 加载的动态网页,其中数据可以保持加载为 => 6.1 我们像 facebook、twitter 或linkedin 主页一样继续向下滚动以获取数据 示例 URL - facebook、twitter、链接等 => 6.2 或者我们继续单击 ajax 容器末尾的一些按钮/div 以获取下一组数据; 示例网址 - https://www.linkedin.com/pulse/cost-climate-change-indian-railways-punctuality-more-editors-india-/ 在这里,如果您需要查看和抓取所有 cmets,则必须单击页面底部的“显示以前的评论”
我想学习和构建一个精疲力竭的抓取解决方案,可以根据需要进行调整,以满足从要点 1 的简单任务到上面要点 6 的复杂任务的所有选项。
【问题讨论】:
-
您的问题过于宽泛。没有人会帮助您重塑 Google 或 Bing。此外,处理需要身份验证但不使用传统 HTTP 身份验证机制的 URL 需要为站点定制代码。付给我 50 万美元,我会写代码。
标签: python web-scraping beautifulsoup scrapy urllib2