Python获取User-Agent的优化和fake-useragent使用和解决Unresolved Reference问题

由于前面报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

如何安装
Python获取User-Agent的优化和fake-useragent使用和解决Unresolved Reference问题_第1张图片

from fake_useragent import UserAgent
ua = UserAgent()
print(ua.ie)   #随机打印ie浏览器任意版本
print(ua.firefox) #随机打印firefox浏览器任意版本
print(ua.chrome)  #随机打印chrome浏览器任意版本
print(ua.random)  #随机打印任意厂家的浏览器

这是顺利的情况不顺利的情况就会是这样的
Python获取User-Agent的优化和fake-useragent使用和解决Unresolved Reference问题_第2张图片
那我们就要解决下Unresolved Reference问题

  1. 进入PyCharm->Preferences->Build,Excution,Deployment->Console->Python Console勾选上Add source roots to PYTHONPATH;
    Python获取User-Agent的优化和fake-useragent使用和解决Unresolved Reference问题_第3张图片
  2. 进入PyCharm->Preferences->Project->Project Structure,通过选中某一目录右键添加sources;
    Python获取User-Agent的优化和fake-useragent使用和解决Unresolved Reference问题_第4张图片
  3. 点击Apply和OK即可.

发现这样的操作还是不能解决这个问题那可能是你的解析器配置错了
Python获取User-Agent的优化和fake-useragent使用和解决Unresolved Reference问题_第5张图片
Python获取User-Agent的优化和fake-useragent使用和解决Unresolved Reference问题_第6张图片
如果这样还不能帮你解决问题那我也没办法了

你可能感兴趣的:(Python,学习总结,UnresolvedRefer,User-Agent,fake-useragent,Python,随机获取模拟浏览器信息)