一、爬虫的基本概念
爬虫:一只在网络上爬行的“蜘蛛”,这只蜘蛛用来在网络上爬取我们想获取的信息,所以爬虫的定义大概是:
请求网站并提取数据的自动化程序。
从定义中可以看出,我们首先要做的是向网站发送请求,模拟浏览器浏览网页的模式,从而获取数据,此时获取的数据其实是html代码文本以及图片等,接下来就是筛选我们需要的数据,梳理好我们需要的数据之后,就是要分类,按需存储我们的想要的数据,这就是一只爬虫的自我修养。
二、 网页的基本元素
我们用随意打开一个网页,右击打开源代码,这就是网站的html文本,这就包含了该网页所有的信息,我们就需要在这些数据中筛选出我们需要的数据,如下:
三、爬虫的基本流程
1、发起请求
通过HTTP库向目标站点发情请求,即发送一个Request,请求可以包含额外的header等,等待服务器响应;
2、获取响应内容
HTTP服务器会回应请求的结果,即页面内容,可能包含html文本,json,图片等;
3、解析内容
根据获取的内容不同进行响应解析;
4、保存内容
将解析好的内容按需分类存储下来,比如图片视频,数据文本等;
四、Request & Response
Request
Response
五、能够爬取的内容
1、网页文本: html,json文本等
2、图片视频等二进制文件
3、所有能请求到的数据按道理都能爬取到
六、解析方式
七、试着爬点什么?
我们就把这个头像抓取下来吧。1
2
3
4
5
6
7
8
9
10
11
12import requests
response = requests.get("http://amuuncle.site/")
print(response.text)
print(response.headers)
print(response.status_code)
response = requests.get("http://amuuncle.site/images/touxiang.jpg")
print(response.content)
file_object = open('touxiang.jpg', 'wb')
file_object.write(response.content)
file_object.close()
上面代码,第一请求可以获取站点的应答信息,通过梳理我们可以筛选出我们要抓取的头像地址(该例子未做自动筛选数据,这些我们之后来学习,现在只是看看基本逻辑),第二个请求图片地址,并且将获取的图片二进制数据写入到路径中,最后头像就被保存在脚本的相同路径下了;