ip在线代理网页联合早报_一次免费代理ip的爬取实战
我们在使用爬虫的时候,会对代理ip有一定程度的需求。今天爬取的这个免费代理网站不是大家已经爬烂的西刺和66等代理网站,是我无意间发现的宝藏网站~
这个网站还是有一点小意思的。
注意到没有,这里的ip地址被换成了图片,而这个图片长得似乎和验证码非常相似。定位ip地址元素发现,确实是图片,并且是base64编码的形式。
这样我们就有了整体的思路,首先爬取网页上图片的base64编码,将编码解码保存为图片,接着利用OCR进行识别,将图片中的ip提取。
爬取网页
网页上的这些元素爬取还是非常容易的,通过page参数控制翻页,其他内容例如端口号,匿名度等代理的信息可以利用xpath或者其他方式来解析网页得到。
当我们得到图片的base64之后,需要将编码解码并保存为图片。
def ip_img(img_base64,i): img_data=base64.b64decode(img_base64)with open ('ip/{}.jpg'.format(i),'wb') as f: f.write(img_data)
OCR识别
我们将这些ip地址的图片统一保存在ip文件夹内,来对每一张图片进行OCR识别,识别的套路很简单,和知网的验证码的方式相同,我们先把图片转换为灰度图片,再进行简单的二值化处理,得到新图片效果如下所示。
但是使用tesserocr之后发现,这个黑白的二值图片依然不能识别,我猜想是因为图片大小的问题,于是我利用resize将图片的长宽均增至三倍,这样识别得到的结果便有模有样了。
def ocr_ip(img): image=Image.open(img) image=image.resize((450,60)) image=image.convert('L') threshold=127 table=[]for i in range(256):if i table.append(0)else: table.append(1) image=image.point(table,'1') result=tesserocr.image_to_text(image).replace('§','5').replace('$','8').replace('L','1').replace('i','1').replace(',','')return result.replace('\n','')
上面还是进行了一些小小的处理,例如tesserocr会把“5”识别为“§”,把“1”识别为“L”等等,因此我使用replace做了结果的部分内容替换。
这样,我们就可以获取这样一些免费的代理IP,再验证有效性之后便可投入使用啦~
——END——
推荐阅读
用Python来掷个色子~
用Python获取可能是全网最全的杰尼龟表情包(第三弹)
ip在线代理网页联合早报_一次免费代理ip的爬取实战相关推荐
- ip在线代理联合早报_我所资深代理人马俪雯线上参加”中国医药设备工程协会年会”...
我所资深欧洲,英国,爱尔兰专利代理人马俪雯(Marie Walsh)应邀参加了11月26日在上海举办的中国医药设备工程协会年会的线上分享.中国医药设备工程协会( CPAPE)是跨行业.跨部门的全国性社 ...
- python爬虫公众号_python爬虫_微信公众号推送信息爬取的实例
问题描述 利用搜狗的微信搜索抓取指定公众号的最新一条推送,并保存相应的网页至本地. 注意点 搜狗微信获取的地址为临时链接,具有时效性. 公众号为动态网页(JavaScript渲染),使用request ...
- python微信爬取教程_python爬虫_微信公众号推送信息爬取的实例
问题描述 利用搜狗的微信搜索抓取指定公众号的最新一条推送,并保存相应的网页至本地. 注意点 搜狗微信获取的地址为临时链接,具有时效性. 公众号为动态网页(JavaScript渲染),使用request ...
- python微信公众号推送_python爬虫_微信公众号推送信息爬取的实例
问题描述 利用搜狗的微信搜索抓取指定公众号的最新一条推送,并保存相应的网页至本地. 注意点 搜狗微信获取的地址为临时链接,具有时效性. 公众号为动态网页(JavaScript渲染),使用request ...
- python爬取公交车站数据_Python爬虫实例_城市公交网络站点数据的爬取方法
爬取的站点:http://beijing.8684.cn/ (1)环境配置,直接上代码: # -*- coding: utf-8 -*- import requests ##导入requests fr ...
- 高可用免费代理ip爬取实战
我们在使用爬虫的时候,会对代理ip有一定程度的需求.今天爬取的这个免费代理网站不是大家已经爬烂的西刺和66等代理网站,是我无意间发现的~ 这个网站还是有一点意思的. 注意到没有,这里的ip地址被换成了 ...
- python获取网页数据对电脑性能_【Python】网页数据爬取实战
由于网页结构跟之前有变化,还不是很熟悉.代码待完善,问题记录: 腾讯新闻二级网页内容爬取有问题. 链家网站头文件没有用到. 爬取一条腾讯视频的header内容,存入txt.要求: 包含网页链接 包含t ...
- python爬取网页文本_手把手教你如何用Python爬取网站文本信息
提取网页源代码--Requests 工具包 在我们提取网络信息之前,我们必须将网页的源代码进行提取,Requests工具包现在可以说是最好用和最普及的静态网页爬虫工具,它是由大神Kenneth Rei ...
- python怎样获得手机软件app数据_如何进行手机APP的数据爬取?
平时我们的爬虫多是针对网页的,但是随着手机端APP应用数量的增多,相应的爬取需求也就越来越多,因此手机端APP的数据爬取对于一名爬虫工程师来说是一项必备的技能.我们知道,网页爬取的时候我经常使用F12 ...
最新文章
- 未转变者rust服务器推荐,如果steam只留一个游戏,你会选择吃鸡还是CSGO
- 专利分析与申请(1):法国汤姆森公司关于在有损编码器上扩展无损编码器的专利分析...
- 应用指定显示到副屏_彩易达LED显示屏在税务局的应用-彩易达,LED显示屏,在税务局的应用-LED屏行业...
- scrapy需要的xpath知识点
- 全国战争linux添加eth0,linux服务器双线路接入配置
- CAS和Synchronized知识
- 进入实现类快捷键_实测30个自带快捷键,原来键盘也这么好用!
- 模板 - 数论 - (新)
- wxpython中文教程_wxPython中文教程 简单入门加实例
- 各大物联网平台对比之百度IoT云平台
- 关于动态生成data组件
- Egret引擎基础教程II(EUI基础使用教程)
- java 环绕通知_SpringAOP四种通知类型+环绕通知
- 06.ESP8266驱动OLED屏
- IOT语义互操作性之本体论
- 联想微型计算机m910q6,一台比较完美的黑苹果小主机 联想M910Q折腾记 opencore EFI分享...
- String 转表情, Swift 与 OC 中调用
- 算法设计 (分治法应用实验报告)基于分治法的合并排序、快速排序、最近对问题
- 关于USB Type A/B/C的区别和基本知识
- 【问】SQL 2012中如何还原数据库?
热门文章
- 爬虫--BeautifulSoup使用
- 33.JAVA编程思想——JAVA IO File类
- 02 typedef
- activiti-explorer 启动报错 Error creating bean with name 'demoDataConfiguration'
- php 扩展 suhosin 配置不当引发的报错及其解决方法
- 【甘道夫】CDH5.2的Maven依赖
- maven 构建 springmvc + spring security 权限控制示例
- Android的移动存储解决方案“.NET研究”之SharedPreferences
- error40;无法打开到SQL Server的连接,设置了Tcp/IP等也不能连接的问题
- 自省的力量-我看《走出软件作坊》