专栏中心

EEPW首页 > 专栏 > python爬虫思路及爬虫代理使用方案

python爬虫思路及爬虫代理使用方案

发布人:laical 时间:2020-07-24 来源:工程师 发布文章

爬虫是一个比较容易上手的技术,也许花5分钟看一篇文档就能爬取单个网页上的数据。但对于大规模爬虫,完全就是另一回事,并不简单,还会衍生出许多别的问题。


爬虫思路 :

下载数据、解析数据、保存数据

15387567-14dfaea2ec539d3d.webp.jpg

今天先分享如何爬取数据和使用代理方案

爬取数据:

抓取大多数情况属于get请求,即直接从对方服务器上获取数据。


首先,Python中自带urllib及urllib2这两个模块,基本上能满足一般的页面抓取。另外,requests也是非常有用的包,与此类似的,还有httplib2等等。


import requestsurl = http://current.ip.16yun.cn:802response = requests.get(url)content = requests.get(url).contentprint("response headers:", response.headers)print("content:", content)


此外,对于带有查询字段的url,get请求一般会将来请求的数据附在url之后,以?分割url和传输数据,多个参数用&连接。


import requestsdata = {'wd':'nike', 'ie':'utf-8'}url='https://www.baidu.com'response = requests.get(url=url, params=data)


大部分网站都有反爬措施,也就是说网站服务器会根据某个ip在特定时间内的访问频率来判断是否为爬虫,然后把你把你拉进“黑名单”,素质好的给你返回403或者出来个验证码,素质不好的会给你返回两句脏话。

解决方案:

①降低爬虫请求速率,但是会降低效率;

②添加代理ip,代理ip又分为付费的和不要钱的,前者比较稳定,后者经常断线。

添加爬虫代理代码:


    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


在一定的爬虫基础上做好相关爬虫优化,加上高质量爬虫代理进行数据采集,才能更高效稳定的采集到数据。


专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

初学者电源教程:第四部分——开关电源的测试与使用

TechInsights 拆解:现代 Ioniq 5 仪表盘

互联网的 7 个阶段

网络与存储 2025-11-13

国防电子测试的最新发展及安捷伦解决方案

cm6800 单片PFC+PWM控制器

到2030年,全球FPGA市场有望达到193.4亿美元

嵌入式系统 2025-11-13

利用凌华科技PXI产品构建高性能军用测试系统平台

视频 2010-05-17

R&S微波信号源分析与计量技术

抗干扰GNSS天线的进步

Connext Drive 4.0 将AI添加到SDV通信中

2010全球电子峰会:Mentor Graphics

视频 2010-05-14

C8051F系列单片机的protel 99 PCB封装库

CC1000极低功耗单片收发 IC 2.0

人工智能模型的增长超过了硬件的改进

CAT24WC128 128K位I2C串行E2PROM

cirrus EP9315通用平台片上系统处理器

2010全球电子峰会:National Semiconductor

视频 2010-05-14

TechInsights 拆解:Eve Energy 插座和功率计

AMD 推出锐龙 5 7500X3D 处理器,限定北美与 EMEA 区域发售

初学者电源教程:第三部分——线性稳压电源

更多 培训课堂
更多 焦点
更多 视频

技术专区