网页源代码抓取工具(如何通过Chrome开发者工具寻找一个网站上特定数据的方式 )
优采云 发布时间: 2021-09-19 12:10网页源代码抓取工具(如何通过Chrome开发者工具寻找一个网站上特定数据的方式
)
有太多的在线爬虫教程,知乎搜索它,估计你可以找到不少于100个。每个人都很高兴从互联网上一个接一个地抓到网站. 但一旦另一方网站更新,文章中的方法可能不再有效
每个网站grab的代码都不同,但背后的原理是相同的。对于绝大多数k14人来说,抓取的例行程序就是这样。今天的文章并没有谈论任何特定的网站捕获,只讨论了一件常见的事情:
如何通过chrome开发者工具找到网站特定的数据捕获方法
(我在这里演示的是MAC上chrome的英文版,windows的中文版也是一样。)
&燃气轮机;查看网页源代码
在网页上单击鼠标右键,然后选择“查看页面源”。与此URL对应的HTML代码文本将显示在新选项卡中
此功能不是“开发人员工具”的一部分,但也非常常见。此内容与通过代码直接向此URL发送get请求的结果相同(无论权限如何)。如果您可以在此源代码页上搜索所需的内容,则可以通过常规的bs4、XPath和其他方法提取文本中的数据
但是,对于许多异步加载的网站,您无法在此页面中找到所需内容。或者由于权限和验证等限制,代码中获得的结果与页面显示不一致。在这些情况下,我们需要更强大的开发工具来帮助
&燃气轮机;元素
右键点击网页并选择“检查”进入chrome开发者工具的元素选择器。该工具中有“图元”选项卡
元素有几个功能:
从elements工具查找数据比直接在源代码中搜索更方便,因为您可以清楚地看到其元素结构。但这里有一个特别的提醒:
元素中的代码不等于从请求的URL获得的返回值
它是浏览器呈现的网页的最终效果,包括异步请求数据和浏览器自身对代码的优化更改。因此,您无法完全按照元素中显示的结构获取元素。在这种情况下,您可能无法得到正确的结果
&燃气轮机;网络
选择开发者工具中的网络选项卡,进入网络监控功能,这通常被称为“数据包捕获”
这是爬行动物最重要的功能。主要解决两个问题:
什么和如何
捕获内容是指如何找到通过异步请求获得的数据源
打开网络页面,打开记录,然后刷新页面。您可以看到,将显示所有发出的请求,包括数据、JS、CSS、图片、文档等。您可以从请求列表中找到您的目标
一个接一个地找会很痛苦。分享一些技巧:
找到收录数据的请求后,下一步是使用程序获取数据。这是第二个问题:如何把握
并非所有URL都可以通过get直接获得(相当于在浏览器中打开地址)。一般来说,应考虑以下事项:
请求方法,获取或发布。附加到请求的参数数据。获取和传递后参数的方式不同。标题信息。常用的包括用户代理、主机、引用者、cookie等。cookie是用于标识请求者身份的关键信息。对于网站,此值是必不可少的。其他项目通常被网站用于确定请求的合法性。相同的请求可以在浏览器中发出,但不能在程序中发出。这主要是因为标题信息不正确。您可以将此信息从chrome移动到程序中,以绕过另一方的限制
单击列表中的特定请求,即可找到上述信息
找到正确的请求,设置正确的方法,传递正确的参数和标题信息。关于网站的大部分信息都可以完成
网络还有一个功能:右键单击列表并选择“使用内容另存为har”以保存到文件。此文件收录列表中所有请求的参数和返回值信息,供您查找和分析。(在实践中,我经常发现直接搜索是无效的,因此我只能在保存到文件后进行搜索)
除了元素和网络之外,开发者工具中还有一些功能,例如:
查看资源列表和调试JS的源代码
控制台,显示页面的错误和输出,可以执行JS代码。很多网站都会在这里放彩蛋招募(自己试试更有名的网站吧)
但这些功能与爬行动物几乎没有关系。如果您开发网站并优化网站速度,则需要处理其他功能。我不会在这里说太多
总之,您只需记住以下几点:
在“查看源代码”中可以看到的数据可以直接通过程序请求当前URL获得。元素中的HTML代码不等于请求返回值,只能用作辅助。在网络中搜索内容关键字或将其保存为har文件,以查找收录数据的实际请求,查看请求的特定信息,包括方法、标题和参数,并将其复制到程序中以供使用
了解这些步骤后,可以获得大部分在线数据。“解决一半问题”不是标题
当然,这更容易说。如果你想熟练掌握它,你仍然有很多细节需要考虑并且需要不断地练习。但是有了这些观点,当我们研究各种爬行动物的情况时,我们会有一个更清晰的想法
如果你想对爬行动物有更详细的解释和指导,我们有“爬行动物实践”课程和zero foundation入门课程
课程详情官方账户(Crossin编程教室)行动代码回复代码
════
其他文章和答案:
欢迎来到搜索和跟随:crossin的编程教室