模拟浏览器浏览
方法一
使用build_opener()修改报头
import urllib.request 导入库
url = 'http://blog.csdn.net/weiwei_pig/article/details/51178226' 定义一个变量url存储要爬取的网址
headers = ('User-Agent','Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.75 Safari/537.36 LBBROWSER')
定义一个变量hearders存储user-agent信息
opener = urllib.request.build_opener()创建自定义opener对象并赋值给opener
opener.addheaders = [headers]设置opener对象的addheaders,即设置对应的头信息
data = opener.open(url).read() 打开网址并用read读取信息赋值给data
fhander = open('D:\myweb\part4/3.html','wb')打开并通过二进制打开本地文件
fhander.write(data)写入信息
方法二
使用add_header()添加表头
import urllib.request 导入库
url = 'http://blog.csdn.net/weiwei_pig/article/details/51178226'将要抓取的网址存储在变量url里面
req = urllib.request.Request(url)构建一个Request对象并赋值给req
req.add_header('User-Agent','Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.75 Safari/537.36 LBBROWSER')
添加对应报头信息
data = urllib.request.urlopen(req).red()使用urlopener()打开Request对象并读取信息
fhander = open('D:\myweb\part4/3.html','wb')打开并通过二进制打开本地文件
fhander.write(data)写入信息