Python爬虫(一)爬虫的原理

在输入网址后,你便可以在网页中看见各式各样的内容,有图片、视频及文本等。这是因为输入网址后DNS服务器寻找服务器主机,并且向它发送请求,服务器接收请求后解析并作出响应,将结果返回给浏览器,浏览器再将结果进行解析,这便是我们在网页中看到的内容。因此,爬虫的基本流程如下。

爬虫的基本流程

(1)发送请求
    通过HTTP向站点发送Request请求,请求中包含header等信息。

(2)获取响应内容
    若服务器正常响应,会返回一个Response响应,这就是我们要获取的内容。

(3)解析内容
    得到的内容有几种形式。若是HTML,可以用正则表达式和页面解析库进行解析。若是Json,可转为Json对象解析。

(4)保存数据
    可以将数据保存为各种形式,如数据库、文本等。

    这里涉及到Request与Response的概念。Request就是浏览器向目标服务器发送请求。Response就是服务器接收到浏览器的请求后,做出相应的处理,并且把处理结果返回给浏览器的过程。下面两图分别为请求YouTube时的Request和Response信息。
这里写图片描述
这里写图片描述

    在这部分,我们先简单的概括一下爬虫的不同的处理方法,接下来的再对每个进行细说。

解析数据的方法
(1)直接处理
(2)Json解析
(3)正则表达式处理
(4)BeautifulSoup解析处理
(5)PyQuery解析处理
(6)XPath解析处理

有时候爬虫抓取到的页面和浏览器中显示的内容是不一样的,这是因为有的网站通过js、ajax动态加载数据,因此产生这种问题。解决js渲染问题有几种方法。
(1)分析ajax
(2)Selenium、webdriver
(3)Splash
(4)PyV8,Ghost.py

猜你喜欢

转载自blog.csdn.net/dxk_093812/article/details/81197272