python爬取数据中的headers和代理IP问题

小白学大数据
• 阅读 485

爬虫的主要爬取方式之一是聚焦爬虫,也就是说,爬取某一个特定网站或者具有特定内容的网站,而一般比较大的有价值的网站都会有反爬策略,其中常见的反爬策略是网站根据来访者的身份判定是否予以放行。 对来访者身份的判定一般基于headers里的user-Agent值,每一种浏览器访问网站的user-Agent都是不同的,因此,爬虫需要伪装成浏览器,并且在爬取的过程中自动切换伪装,从而防止网站的封杀。可以通过一些爬虫库调用随机返回一个headers(User-Agent)

import requests

ua = UserAgent()        # 实例化,需要联网但是网站不太稳定-可能耗时会长一些
print(ua.random)  # 随机产生
headers = {
    'User-Agent': ua.random    # 伪装
    }

# 请求
if __name__ == '__main__':
    url = 'https://www.baidu.com/'
    response = requests.get(url, headers=headers ,proxies={"http":"117.136.27.43"})
    print(response.status_code)
还有就是访问IP的判别,在进行Python爬虫程序开发时,如果频繁地访问同一网站的情况下,网站服务器可能会把该IP地址列入黑名单,限制其访问权限。此时,使用IP代理技术可以有效避免这种限制,保证爬虫程序的稳定性。使用IP代理技术还有其他的优点,比如增强隐私保护、提高数据访问速度、降低目标网站的压力等等。总之,IP代理技术已经成为了Python爬虫程序中不可或缺的一部分。
Python提供了丰富的第三方库,可以帮助我们实现IP代理功能。其中最常用的是requests库和urllib库。以下是使用requests库实现IP代理的示例代码:
```     #! -*- encoding:utf-8 -*-

    import requests
    import random

    # 要访问的目标页面
    targetUrl = "http://httpbin.org/ip"

    # 要访问的目标HTTPS页面
    # targetUrl = "https://httpbin.org/ip"

    # 代理服务器(产品官网 www.16yun.cn)
    proxyHost = "t.16yun.cn"
    proxyPort = "31111"

    # 代理验证信息
    proxyUser = "username"
    proxyPass = "password"

    proxyMeta = "http://%(user)s:%(pass)s@%(host)s:%(port)s" % {
        "host" : proxyHost,
        "port" : proxyPort,
        "user" : proxyUser,
        "pass" : proxyPass,
    }

    # 设置 http和https访问都是用HTTP代理
    proxies = {
        "http"  : proxyMeta,
        "https" : proxyMeta,
    }


    #  设置IP切换头
    tunnel = random.randint(1,10000)
    headers = {"Proxy-Tunnel": str(tunnel)}



    resp = requests.get(targetUrl, proxies=proxies, headers=headers)

    print resp.status_code
    print resp.text
点赞
收藏
评论区
推荐文章
Irene181 Irene181
3年前
3000字 “婴儿级” 爬虫图文教学 | 手把手教你用Python爬取 “实习网”!
1\.为"你"而写这篇文章,是专门为那些"刚学习"Python爬虫的朋友,而专门准备的文章。希望你看过这篇文章后,能够清晰的知道整个"爬虫流程"。从而能够"独立自主"的去完成,某个简单网站的数据爬取。好了,咱们就开始整个“爬虫教学”之旅吧!2\.页面分析①你要爬取的网站是什么?首先,我们应该清楚你要爬去的网站是什么?由于这里我们想要
菜鸟阿都 菜鸟阿都
3年前
创建免费ip代理池
     反爬技术越来越成熟,为了爬取目标数据,必须对爬虫的请求进行伪装,骗过目标系统,目标系统通过判断请求的访问频次或请求参数将疑似爬虫的ip进行封禁,要求进行安全验证,通过python的第三方库faker可以随机生成header伪装请求头,并且减缓爬虫的爬取速度,能很好的避过多数目标系统的反扒机制,但对一些安全等级
把帆帆喂饱 把帆帆喂饱
3年前
爬虫
爬虫什么是爬虫使用编程语言所编写的一个用于爬取web或app数据的应用程序怎么爬取数据1.找到要爬取的目标网站、发起请求2.分析URL是如何变化的和提取有用的URL3.提取有用的数据爬虫数据能随便爬取吗?遵守robots.txt协议爬虫的分类通用网络爬虫百度,Google等搜索引擎,从一些初识的URL扩展到整个网站,主要为门户站点搜索引擎和大型网站服务采
Stella981 Stella981
3年前
Nginx反爬虫: 禁止某些User Agent抓取网站
一、概述网站反爬虫的原因不遵守规范的爬虫会影响网站的正常使用网站上的数据是公司的重要资产爬虫对网站的爬取会造成网站统计数据的污染常见反爬虫手段1\.根据IP访问频率封禁IP2\.设置账号登陆时长,账号访问过多封禁设置账号的登录限制,只有登录才能展现内容
燕青 燕青
1年前
Screaming Frog SEO Spider Mac版 附 注册码 及完整安装教程 支持M1
是一款用于网站爬取和SEO诊断的工具,可以帮助用户分析和优化网站的搜索引擎优化(SEO)性能。以下是ScreamingFrogSEOSpider的一些主要特点和功能:网站爬取:ScreamingFrogSEOSpider可以快速爬取网站的内容,包括页面标题
智多星V+TNY264278 智多星V+TNY264278
3个月前
Java 爬虫如何实现分布式部署?
以下是Java爬虫实现分布式部署的关键要点及示例代码片段辅助理解:一、任务分配与管理划分任务:根据要爬取的目标网站结构和数据量,将爬取任务拆分成多个小的子任务。例如,如果要爬取一个大型电商网站的所有商品信息,可以按照商品类别进行划分,每个类别作为一个独立的
网站反爬之封IP应对措施
作为爬虫工作者爬取数据是基本的技能,在日常获取数据的过程中遇到网站反爬也是家常事,网站的反爬方式有很多,今天我们重点来分析下封IP的行为。这种情况下大家都是很简单的使用代理IP就解决了,但是网上ip代理有很多家,到底选哪家好呢?这里推荐口碑很好的亿牛云
爬虫中使用代理IP的一些误区
做为爬虫工作者在日常工作中使用爬虫多次爬取同一网站时,经常会被网站的IP反爬虫机制给禁掉,为了解决封禁IP的问题通常会使用代理IP。但也有一部分人在HTTP代理IP的使用上存在着误解,他们认为使用了代理IP就能解决一切问题,然而实际上代理IP不是万
燕青 燕青
1年前
尖叫青蛙网络爬虫工具:Screaming Frog SEO Spider Mac破解下载
的爬取功能强大而灵活。它能够快速准确地爬取网站的所有页面和链接,让您可以全面了解网站的架构和内容。而且,您可以根据需要设置爬取的深度和规则,确保数据的获取符合您的需求。其次,ScreamingFrogSEOSpider的分析功能非常强大。它能够详细分析每个
小白学大数据
小白学大数据
Lv1
男 · 亿牛云 · python技术
宁为代码类弯腰,不为bug点提交!
文章
89
粉丝
5
获赞
18