自动抓取网页数据(什么是爬虫?网络爬虫(又被称为网页蜘蛛)爬虫)

优采云 发布时间: 2022-03-18 08:22

  自动抓取网页数据(什么是爬虫?网络爬虫(又被称为网页蜘蛛)爬虫)

  关键词:

  少年击剑多吹笛,一宗剑气、笛心被淘汰。本文章主要介绍python爬虫相关知识,希望对大家有所帮助。

  什么是爬行动物?

  网络爬虫(也称为网络蜘蛛、网络机器人,在 FOAF 社区中更常称为网络追逐者)是根据一定规则自动从万维网上爬取信息的程序或脚本。其他不太常用的名称是 ant、autoindex、emulator 或 worm。

  其实通俗的说就是通过程序在网页上获取你想要的数据,也就是自动抓取数据

  爬虫精华:

  模拟浏览器打开网页,获取网页中我们想要的部分数据

  在浏览器中打开网页的过程:

  当你在浏览器中输入地址,通过DNS服务器找到服务器主机,向服务器发送请求,服务器解析并将结果发送给用户的浏览器,包括html、js、css等文件内容,浏览器解析它并最终呈现它给用户在浏览器上看到的结果

  因此,用户看到的浏览器的结果都是由 HTML 代码组成的。我们的爬虫就是获取这些内容。通过分析和过滤HTML代码,我们可以得到我们想要的资源(文字、图片、视频...)

  爬虫的基本流程:

  发出请求

  通过HTTP库向目标站点发起请求,即发送Request,请求中可以收录额外的headers等信息,等待服务器响应

  获取响应内容

  如果服务器能正常响应,就会得到一个Response。Response的内容就是要获取的页面的内容。类型可以是 HTML、Json 字符串、二进制数据(图片或视频)等。

  解析内容

  获取的内容可以是HTML,可以用正则表达式和页面解析库解析,也可以是Json,可以直接转成Json对象解析,也可以是二进制数据,可以保存或进一步处理

  保存数据

  以多种形式保存,可以保存为文本,也可以保存到数据库,或者以特定格式保存文件

  什么是请求,响应:

  浏览器向 URL 所在的服务器发送消息。这个过程称为 HTTP 请求

  服务器收到浏览器发送的消息后,可以根据浏览器发送的消息内容进行相应的处理,然后将消息发送回浏览器。这个过程是 HTTP 响应

  浏览器收到服务器的Response信息后,会对信息进行相应的处理,然后显示

  请求中收录的内容:

  请求方法

  主要有:常用的GET/POST两种,还有HEAD/PUT/DELETE/OPTIONS

  GET 和 POST 的区别在于请求的数据 GET 在 url 中,而 POST 存储在 header 中

  GET:向指定资源发出“显示”请求。使用 GET 方法应该只用于读取数据,而不应该用于产生“副作用”的操作,例如在 Web 应用程序中。原因之一是 GET 可能被网络蜘蛛等任意访问。

  POST:向指定资源提交数据,并请求服务器处理(如提交表单或上传文件)。数据收录在请求文本中。此请求可能会创建新资源或修改现有资源,或两者兼而有之。

  HEAD:和GET方法一样,是对服务器的指定资源的请求。只是服务器不会返回资源的文本部分。它的优点是使用这种方法可以获取“有关资源的信息”(元信息或元数据),而无需传输整个内容。

  PUT:将其最新内容上传到指定的资源位置。

  OPTIONS:此方法使服务器能够返回资源支持的所有 HTTP 请求方法。使用 '*' 代替资源名称,并向 Web 服务器发送 OPTIONS 请求,以测试服务器功能是否正常工作。

  DELETE:请求服务器删除Request-URI标识的资源。

  请求网址

  URL,即Uniform Resource Locator,也就是我们所说的网站,Uniform Resource Locator是对可以从互联网上获取的资源的位置和访问方式的简明表示,是互联网上标准资源的地址. Internet 上的每个文件都有一个唯一的 URL,其中收录指示文件位置以及浏览器应该如何处理它的信息。

  URL的格式由三部分组成:

  第一部分是协议(或服务模式)。

  第二部分是存储资源的主机的 IP 地址(有时是端口号)。

  第三部分是宿主资源的具体地址,如目录、文件名等。

  爬虫在爬取数据时,必须有目标URL才能获取数据。因此,它是爬虫获取数据的基本依据。

  请求头

  收录请求过程中的头部信息,如User-Agent、Host、Cookies等信息。下图显示了请求百度时所有的请求头信息参数。

  至此,这篇关于python爬虫的文章就讲完了。如果不能解决您的问题,请参考以下文章:

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线