今天是开始接触爬虫的第一次实战,选择爬取了豆瓣电影网站的有关信息
选择urllib,urllib.request,parse,ssl等模块
import urllib
import urllib
import urllib.request
import urllib.parse
import ssl
(有的网站需要证书,注意如果使用ssl这里上面我们就不能使用requests模块,所以选择使用urllib.request)
ssl._create_default_https_context = ssl._create_unverified_context
(选择需爬取网站的网址)
url="https://movie.douban.com/explore#!type=movie&tag=%E6%9C%80%E6%96%B0&page_limit=20&page_start=0"
(找到网址的user-agent,User-Agent是Http协议中的一部分,属于头域的组成部分,User Agent也简称UA。用较为普通的一点来说,是一种向访问网站提供你所使用的浏览器类型、操作系统及版本、CPU 类型、浏览器渲染引擎、浏览器语言、浏览器插件等信息的标识。UA字符串在每次浏览器 HTTP 请求时发送到服务器!)
至于如何找到网页的代理位置,我们可以使用chrome浏览器,找到该网页,既可以右键选择检查也可以快捷键F12,找到network,刷新一下网页,如图所示,找到该网页网址,之后在右边的一堆数据里找到代理就可以了。
附图:
headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36"}
模拟在网页提交表单,具有翻页功能,限制每次爬取10条
formdata = {
"start": "0",
"limit":'10'
}
data = urllib.parse.urlencode(formdata).encode("utf-8")
构造请求对象
发送请求
打印输出
request = urllib.request.Request(url = url,headers=headers)
response = urllib.request.urlopen(request)
print(response.geturl())
print(response.read().decode('utf-8'))