• python3爬虫的模拟浏览器


    爬虫的使用过程中,网站最简单的反爬虫就是验证发起请求的客户端是否为浏览器,因此需要爬虫模拟浏览器对网站发起请求。

    这里介绍一个fake_useraent

    1、伪造useragent字符串,每次请求都使用随机生成的useragen

    为了减少复杂度,随机生成UA的功能通过第三方模块库fake-useragent实现,使用pip进行安装

    pip install fake-useragent

    2、生成一个useragen字符串只需要如下代码

    from fake_useragent import UserAgent

     ua = UserAgent()

    各浏览器的User-Agent

    这个库还有一个其他的功能,就是可以随机各浏览器的的useragen

    print(ua.ie)

    Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 9.0; en-US)

    Opera浏览器的useragen

    print(ua.opera)

    Opera/9.80 (Windows NT 6.1; U; zh-cn) Presto/2.6.37 Version/11.00

    Chrome浏览器的useragen

    print(ua.chrome)

    Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.2 (KHTML, like Gecko) Chrome/22.0.1216.0 Safari/537.2

    Firefox浏览器的useragen

    print(ua.firefox)

    Mozilla/5.0 (Windows NT 6.2; Win64; x64; rv:16.0.1) Gecko/20121011 Firefox/16.0.1

    Safari浏览器的useragen

    print(ua.safari)

    Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5355d Safari/8536.25

    随机User-Agent

    写爬虫最实用的就是可以随意变换headers,一定要有随机性

    在这里写了三个随机生成UA,三次打印都不一样,随机性很强,十分方便

    print(ua.random)

    print(ua.random)

    print(ua.random)

    Mozilla/5.0 (X11; CrOS i686 3912.101.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.36

    Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, likeGecko) Chrome/37.0.2062.124 Safari/537.36

    Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1664.3 Safari/537.36

    Ps:也可以自己写一个useragen列表用于random 作为useragent

    这里是代码案例:

    #用于爬取的url

    from fake_useragent import UserAgent

    from bs4 import *

    import requests

    url="http://baidu.com"

    ua = UserAgent()

    a=ua.random  #随机的一个user-agent

    headers={

        "User-Agent": a

    }

    res=requests.get(url,headers=headers)   #获取网页内容

    t=res.text #返回的响应字符串

    #这里模拟的时候只需要写user-agent 字段即可

  • 相关阅读:
    浏览器渲染流程
    MVC模式
    传统的DOM是如何进行渲染的
    报文的概念及理解
    单页面开发与多页面开发的优缺点
    第4次作业
    售票系统
    第三次作业
    第二次作业
    第一次作业
  • 原文地址:https://www.cnblogs.com/pythonyeyu/p/10475054.html
Copyright © 2020-2023  润新知