由于前面报418不能爬取到数据,需要添加模拟的浏览器信息HTTP Error 418错误,
现在我就来优化一下如何随机的获取User-Agent和如何用fake-useragent包来获取。
查看User-Agent
from urllib.request import urlopen, Request
import random
agent_list = [
"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.163 Safari/535.1",
"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0) Gecko/20100101 Firefox/6.0",
"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50",
"Opera/9.80 (Windows NT 6.1; U; zh-cn) Presto/2.9.168 Version/11.50",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"
]
user_agent = random.choice(agent_list) #这是随机获取agent_list里的一条信息
print(user_agent)
url = 'https://movie.douban.com/top250?start=%s&filter='
headers = {'User-Agent': user_agent}
ret = Request(url, headers=headers)
res = urlopen(ret)
aa = res.read().decode('utf-8')
print(aa)
这就是随机获取User-Agent,但是这不是重点,有个比这个还好用的就是fake-useragent
如何安装
from fake_useragent import UserAgent
ua = UserAgent()
print(ua.ie) #随机打印ie浏览器任意版本
print(ua.firefox) #随机打印firefox浏览器任意版本
print(ua.chrome) #随机打印chrome浏览器任意版本
print(ua.random) #随机打印任意厂家的浏览器
这是顺利的情况不顺利的情况就会是这样的
那我们就要解决下Unresolved Reference问题
- 进入PyCharm->Preferences->Build,Excution,Deployment->Console->Python Console勾选上Add source roots to PYTHONPATH;
- 进入PyCharm->Preferences->Project->Project Structure,通过选中某一目录右键添加sources;
- 点击Apply和OK即可.
发现这样的操作还是不能解决这个问题那可能是你的解析器配置错了
如果这样还不能帮你解决问题那我也没办法了