码迷,mamicode.com
首页 > 编程语言 > 详细

超级实用的Python网络爬虫反反爬策略之构造UA池及IP代理池

时间:2020-06-18 13:14:13      阅读:61      评论:0      收藏:0      [点我收藏+]

标签:with open   htm   choice   web   sts   rand   fir   like   存在   

为了更好的进行网络爬虫,应对一些站点的反爬机制,我们通常都要使用一些反反爬策略,其中,构造UA池和IP代理池,每次抓取网页时都采用随机的UA和代理IP是非常实用的一种策略。因此,先来给大家打个样,可以少踩一些坑的。

目标:抓取百度首页源码

import  requests
import random
def main():
    #创建UA池
    headers_list = [
        {
            User_Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:69.0) Gecko/20100101 Firefox/69.0
        },
        {User_Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36}
    ]
    #创建IP代理池
    proxy_list=[
        {"http":"47.107.38.138:8000"},
        {
            "http":"163.125.113.224:8118"
        }
    ]
    #发请求时,随机从池中选择UA
    header=random.choice(headers_list)
    #随机选择代理IP,可以去一些代理站点寻找高匿IP
    proxy=random.choice(proxy_list)
    #抓取百度首页
    url="https://www.baidu.com/"
    page_text=requests.get(url=url,headers=header,proxies=proxy).content
    with open(./daili.html,wb)as fp:
        fp.write(page_text)
if __name__ == __main__:
    main()

抓取到的源码保存在daili.html中

技术图片

通过浏览器打开就i是百度的首页了

技术图片

 

超级实用的Python网络爬虫反反爬策略之构造UA池及IP代理池

标签:with open   htm   choice   web   sts   rand   fir   like   存在   

原文地址:https://www.cnblogs.com/andrew3/p/13156687.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!