如何使用Python请求伪造浏览器又访问并生成用户代理?

发布于 2021-01-29 19:30:34

我想从网站获取内容。

如果使用Firefox或Chrome这样的浏览器,则可以获取所需的真实网站页面,但是如果使用Python
request软件包(或wget命令)进行获取,则它将返回完全不同的HTML页面。

我认为该网站的开发人员为此做了一些阻碍。

如何使用python请求或命令wget伪造浏览器访问?

关注者
0
被浏览
194
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    提供User-Agent标题

    import requests
    
    url = 'http://www.ichangtou.com/#company:data_000008.html'
    headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'}
    
    response = requests.get(url, headers=headers)
    print(response.content)
    

    仅供参考,以下是针对不同浏览器的User-Agent字符串列表:


    附带说明一下,有一个非常有用的第三方程序包,称为fake-useragent,它在用户代理上提供了一个不错的抽象层:

    假用户代理

    最新的简单useragent伪造者与真实世界数据库

    演示:

    >>> from fake_useragent import UserAgent
    >>> ua = UserAgent()
    >>> ua.chrome
    u'Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1667.0 Safari/537.36'
    >>> ua.random
    u'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.67 Safari/537.36'
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看