学习爬虫——test1——模拟浏览器去访问网站

 

 

用爬取豆瓣网站上的信息作为实例

 

1.  不模拟浏览器访问,可能会出现 418 错误,这说明你要爬取的网站已经知道你是爬虫啦

     很多网站有反爬虫机制,直接爬取会被拦截

 

如:直接访问时

 

 url="http://www.douban.com"
 response=urllib.request.urlopen(url)
 print(response.read().decode("utf-8"))

 

  

 

 

会出现418错误:

 

 

 

2.  模拟浏览器访问,需要用到 Request 封装函数,将要访问的网址封装起来

在这里,我理解为:把模拟浏览器的信息放在一个对象里面即res,res中包含了浏览器的头部信息、访问方式等

headers是伪装的向豆瓣网站发送的头部信息,里面包含的用户代理信息标识了此次访问是浏览器在访问(即模拟浏览器)

url="http://douban.com"
data=bytes(urllib.parse.urlencode({"name":"lll"}),encoding="utf-8")
headers={
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36 Edg/89.0.774.75"
}
res=urllib.request.Request(url=url,data=data,headers=headers)
response=urllib.request.urlopen(res)
print(response.read().decode("utf-8"))

  

这样就可以成功爬取到网页的内容了:

 

posted @ 2021-04-11 16:12  CannedDream  阅读(320)  评论(0编辑  收藏  举报