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

今天先分享如何爬取数据和使用代理方案
爬取数据:抓取大多数情况属于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 个阶段
国防电子测试的最新发展及安捷伦解决方案
cm6800 单片PFC+PWM控制器
到2030年,全球FPGA市场有望达到193.4亿美元
由LF398构成的的电容滞后补偿电路
利用凌华科技PXI产品构建高性能军用测试系统平台
给软件学院当头泼一盆冷水
R&S微波信号源分析与计量技术
抗干扰GNSS天线的进步
Connext Drive 4.0 将AI添加到SDV通信中
2010全球电子峰会:Mentor Graphics
企业:松下和东芝公司宣布合并旗下显像管业务部门
C8051F系列单片机的protel 99 PCB封装库
2002中国嵌入式系统工程师状况调查
CC1000极低功耗单片收发 IC 2.0
HA-5340的同相单位增益模式基本连接电路
人工智能模型的增长超过了硬件的改进
CAT24WC128 128K位I2C串行E2PROM
cirrus EP9315通用平台片上系统处理器
2010全球电子峰会:National Semiconductor
单片采样保持放大器LF198/298/398
追踪国产彩电重返欧盟:配额缩水至13万台
关于single step的一个问题
TechInsights 拆解:Eve Energy 插座和功率计
AD585高速精密采样保持放大器
HA5340/883高速精密单片采样保持放大器
AMD 推出锐龙 5 7500X3D 处理器,限定北美与 EMEA 区域发售
初学者电源教程:第三部分——线性稳压电源