【问题标题】:Web scraping with Python without loading the whole page使用 Python 抓取网页而不加载整个页面
【发布时间】:2021-11-13 11:39:23
【问题描述】:

我刚刚开始使用 Python 进行一些网络抓取项目。我目前使用 lxml、Beautiful Soup 和 requests 模块来抓取网页。我需要知道是否有任何方法可以仅从网站获取我们需要的数据,而不是加载整个页面。 requests 模块执行 GET 请求并接收整个 bs4、lxml 仅过滤数据。我尝试了 Selenium,但这也打开了不太适合工业项目的浏览器。我不知道刮擦和飞溅。

我也不是在寻找 API 密钥方法,它并不适用于任何地方。

【问题讨论】:

  • 请注意,我们更喜欢这里的技术写作风格。我们轻轻地劝阻问候,希望你能帮助,谢谢,提前感谢,感谢信,问候,亲切的问候,签名,请你能帮助,聊天材料和缩写 txtspk,恳求,你多久了被卡住、投票建议、元评论等。只需解释您的问题,并展示您尝试过的内容、预期的内容以及实际发生的情况。

标签: python python-3.x web-scraping web-scraping-language


【解决方案1】:

对 api 调用进行逆向工程。

您应该分析传入和传出请求的网络选项卡并查看每个请求的响应。或者,您也可以将请求复制为 curl 并使用邮递员分析请求。 Postman 具有独特的功能,可以为 requests 库和 urllib 库生成 python 代码。大多数网站都会返回json 响应,但有时您可能会收到html 响应。

有些网站不允许抓取。 确保检查您将要抓取的网站的 robots.txt。你可以通过www.sitename.com/robots.txt找到robot.txt。

更多信息 - https://www.youtube.com/watch?v=LPU08ZfP-II&list=PLL2hlSFBmWwwvFk4bBqaPRV4GP19CgZug

【讨论】:

  • 感谢您的视频。我实际上知道 robots.txt 的东西,这是在网站上爬行的某种规则。我也确实分析了网络选项卡,但我认为我没有正确完成它,这是导致此问题的原因。谢谢你解决了我的问题。保持安全,祝你有美好的一天。
猜你喜欢
  • 1970-01-01
  • 2017-09-04
  • 2021-02-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-18
  • 1970-01-01
相关资源
最近更新 更多