直接上代码
首先说明下,为什么要加入头部?
因为爬取时最正式的做法是仿照http的过程,在用爬虫获取网页的时候,加入头部,伪装成浏览器。Http 其实就是 请求/响应模式,永远都是 客户端向服务端发送请求,然后服务端再返回响应。
有一个问题就是 头部改怎么加?可以打开你的浏览器,按F12,有的是Fn+F12
打开开发者工具模式后,进入随便一个网页,如下图:
选择Network,然后选择name中任一项,找到Request Headers中的User-Agent,复制下来就是头部。
![]()
import urllib.request #网址 url = r'http://douban.com' #加入请求头,有一些网页没有头部是不能访问的,会返回 403错误 headers ={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36'} #请求 req = urllib.request.Request(url=url,headers=headers) #响应的爬取结果 res = urllib.request.urlopen(req) #设置解码方式 html = res.read().decode('utf-8') #打印结果 print(html)