一.简介:
爬虫手段实则是用户对浏览器发送请求的一种模仿,通过伪装请求得到响应的信息进行解析,那么‘’请求处理‘’对于这个过程来说尤为重要。
二.请求:
1.urllib
import urllib.request
urllib的导入
2.请求准备
a.url与UA
url='.....'
headers={
'User-Agent':'.....'
}
URL是统一资源定位符(Uniform Resource Locator)的一个缩写,在web上是一个独特的资源的地址,这个资源则可以是一个HTML的页面、一个CSS文档,一幅图像等。
UA--用户代理(User-Agent)首部包含了一个特征字符串,是用来让网络协议的对端来识别发起请求的用户代理软件的应用类型、操作系统、软件开发商以及版本号。
UA作为http协议的一个请求头,我们先来看看如何获取:
首先在页面按‘F12’此时刷新‘F5’页面之后会得到许多加载的数据,找到第一个,在‘标头’之后往下滑就能找到属于自己的UA,存放到headers变量里面,注意是字典类型。
b.域名地址与UA请求头的获取之后,我们进行“请求头的定制”:
request=urllib.request.Request(url=url,headers=headers)
Request(url=,headers=),请求头的定制需要大写的R,不要忘记urllib.request,定制完后放入一个新的变量则,request=urllib.request.Request(url=url,headers=headers)。
c.获取响应
response=urllib.request.urlopen(request)
使用urlopen()来获取响应,<http.client.HTTPResponse object at 0x0000021151CDA080>
响应的类型为:<class 'http.client.HTTPResponse'>,获取响应之后就可以对其读取
d.读取源码
content=response.read()
此时的确获取到了源码,但是二进制数据,于是我们要对其解码,则代码应为:
content=response.read().decode('utf-8')
于是就能得到我们想要的、看得懂的源码数据。(print打印)
此时就可以去爬取豆瓣网的电影排行榜:
import urllib.request
import urllib.parse
url='https://movie.douban.com/j/chart/top_list?type=5&interval_id=100%3A90&action=&start=0&limit=20'
headers={
'User-Agent':'...............'
}
request=urllib.request.Request(url=url,headers=headers)
response=urllib.request.urlopen(request)
content=response.read().decode('utf-8')
print(content)
得到的结果为:
看着挺乱的,对数据的爬取没有明确的特定的范围或者目标,不要着急这便是后话