需要Python Webscraping解决方案建议

2024-03-29 11:46:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道什么是最好的/首选的Python3.x解决方案(执行速度快、易于实现、指定用户代理的选项、将浏览器和版本等发送到Web服务器以避免我的IP被列入黑名单),它可以在以下所有选项上刮取数据(根据我的理解,根据复杂性提及)。你知道吗

  1. 表/Div中包含数据的任何静态网页
  2. 一次完成加载的动态网页
  3. 动态网页,需要登录使用用户名密码和完成一次加载后,我们登录。 用户名密码的示例URL:https://dashboard.janrain.com/signin?dest=http://janrain.com
  4. 动态网页需要使用oauth从LinkedIn、google等流行服务登录,登录后即可完成加载。我知道这涉及一些页面重定向,令牌处理等。 基于oauth的登录的示例URL:https://dashboard.janrain.com/signin?dest=http://janrain.com
  5. 以上所有要点4都与选择某个下拉列表(比如“按日期排序”)的选项相结合,或者可以包括选择一些复选框,根据这些复选框显示的动态数据将发生变化。 我需要在执行复选框/下拉列表操作之后刮取数据,因为任何用户都会这样做来更改动态数据的显示 示例URL-https://careers.microsoft.com/us/en/search-results?rk=l-seattlearea 您可以选择下拉列表以及一些复选框在页面中
  6. 动态网页与Ajax加载,其中的数据可以继续加载 =>;6.1我们像facebook、twitter或linkedin主页一样不断向下滚动以获取数据 示例URL-facebook、twitter、链接等 =>;6.2或者我们一直单击ajax容器末尾的某个按钮/div以获取下一组数据; 示例URL-https://www.linkedin.com/pulse/cost-climate-change-indian-railways-punctuality-more-editors-india-/ 如果需要查看和删除所有评论,您必须单击页面底部的“显示以前的评论”

我想学习和建立一个用尽刮削解决方案,可以调整,以满足所有的选择,从简单的任务的要点1到复杂的任务的要点6以上当需要的时候。你知道吗


Tags: 数据用户httpscomurl网页示例列表
2条回答

Scrapy是为您寻找真正的可伸缩防弹解决方案。事实上,scrapy框架是python爬行任务的行业标准。你知道吗

顺便说一下:我建议您避免使用JS渲染:所有这些东西(chromedriver、selenium、phantomjs)都是爬网站点的最后一个选择。 大多数ajax数据都可以通过伪造所需的请求来解析。 只是花更多的时间在Chrome的“网络”标签上。你知道吗

  1. 我建议您使用BeautifulSoup解决问题1和2。你知道吗
  2. 对于3和5,您可以使用seleniumwebdriver(作为python库提供)。 使用Selenium,您可以执行所有可能的操作(例如登录、更改下拉值、导航等),然后您可以通过driver.page\u源(您可能需要使用睡眠功能等待内容完全加载)
  3. 对于6,您可以使用自己的API来获取新闻提要及其链接的列表(大部分返回的对象都带有指向特定新闻提要的链接),一旦获得链接,就可以使用BeautifulSoup来获取web内容。你知道吗

注意:请务必阅读每个网站的条款和条件之前,刮,因为其中一些提到自动数据收集是不道德的行为,我们不应该做的专业。你知道吗

相关问题 更多 >