目录

一、什么是爬虫

二、爬虫的基本流程

三、什么是Request和Respond

四、Request中包含什么

五、爬虫能抓怎样的数据

六、抓到的数据怎么解析

七、为什么我请求到的数据和浏览器数据看到的不一样呢

八、怎样解决JS渲染的问题

九、怎样保存数据

一、什么是爬虫?

爬虫可以看作是一只网络蜘蛛,它可以请求网站,并提取数据的自动化程序。我们拿到的数据一般是html代码,我们要在html代码中提取出我们想要的信息。

二、爬虫的基本流程

1.通过http库向目标站点发起请求,发送一个request。等待服务器响应。

2.如果服务器正常响应,拿到一个response,response的内用便是所要获取的页面内容。

3.分情况用正则表达式等等工具来进行处理。

4.保存数据

三、什么是Request和Response?

1.Request:浏览器发送消息给该网址所在的服务器,这叫HTTP Resquest。

2.服务器收到浏览器发送的信息后,能够根据浏览器发送消息的内容,做相应的处理,然后把消息传回给浏览器。这个消息叫HTTP Resopnse。

3.浏览器拿到resopnse信息后,会对信息进行处理,然后展示。

四、Request中包含什么?

1.请求方式:get、post等等

2.请求URL

3.请求头:包含User-Agent,Host等等参数

4.请求体:请求时额外携带的数据,比如表单等等

五、能抓怎样的数据?

1.网页文本,比如HTML文档、Json格式文本等等

2.图片,拿到的是二进制流

3.视频,同样也是二进制流

4.只要能请丢到的都能抓

六、解析方式

1.直接处理

2.Json解析

3.正则

4.BeautifulSoup

5.Pyquery

6.Xpath

七、为什么我抓的和浏览器看到的数据不一样呢

因为很多网页都是一次返回很多数据,其中Response中携带的数据并不完全,剩下的数据需要由JS来渲染到源代码里,进而通过浏览器展示。

八、怎么解决js的渲染问题?

1.分析ajax请求,很多网站都是用这个方式

2.用selenium或者webdriver来模拟浏览器访问

3.splash

4.pyV8 、 Ghost.py

九、怎样保存数据

1.纯文本

2.关系型数据库

3.非关系型数据库

4.二进制文件


且视他人之疑目如盏盏鬼火,大胆去走自己的夜路。