使用 Python 进行网页抓取而不加载整个页面

Web scraping with Python without loading the whole page

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

我也不是在寻找 API 密钥方法,该方法并非在所有地方都适用。

对 api 调用进行逆向工程。

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

有些站点不允许 scraping。 确保检查 robot.txt 您将要访问的网站 aping。你可以通过 www.sitename.com/robots.txt.

找到 robot.txt

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