分享好友 最新动态首页 最新动态分类 切换频道
java Tesseract 设置只识别数字
2024-12-27 01:04


关于这篇文章有几句话想说,首先给大家道歉,之前学的时候真的觉得下述的是比较厉害的东西,但是后来发现真的是基础中的基础,内容还不是很完全。再看一遍自己写的这篇文章,突然有种想自杀的冲动。emmm所以楼主决定本文全文抹掉重写一遍,并且为之前点进来看的七十多访问量的人,致以最诚挚的歉意。好想死。。

在学完了爬虫全部内容后,楼主觉得勉强有资格为接触爬虫的新人指指路了。那么废话不多说,以下正文:

一、获取内容

说爬虫一定要先说爬取内容的方法,python有这么几个支持爬虫的库,一个是urllib和它的后续版本库,这个库做爬取的时候生成的中继对象是比较多的,楼主也记不大住都有什么,而且这个库的使用在楼主看来有些过时了。更加建议做爬取的时候使用requests库(ps:不是request)

使用urllib:


html = urllib.request.urlopen(url).read()


使用requests:


r = requests.get(url)

对于获取到的内容,有以下方法进行处理:

1、使用正则表达式匹配。

2、使用BeautifulSoup对爬取内容标签对象化。

3、通过构造节点树使用Xpath获取元素。

第一种方法胜在直接,效率高而且不需要安装三方库。第二种方法胜在简单,标签对象化后不需要写复杂的正则表达式,而且提取标签更加方便。第三种方法胜在灵活,获取内容更加灵活,就是语法有点多,不熟的话可以对着Xpath语法文档写。

使用正则表达式匹配:

使用BeautifulSoup对爬取内容标签对象化:

关于BeautifulSoup的安装请自行百度,没记错的话直接pip是可行的。

通过构造节点树使用Xpath获取元素:

至此,爬取的基本内容就叙述完毕了,这里给出的是最简单的范例,如果想深入了解某种方法,建议去查询更详细的技术文档。

下面内容就是之前的了,略作删改。

二、伪造表单请求头

很多网站上的数据爬取比较简单,只需要直接request那个网址就可以,很多小型网站都是这样。面对这样的网站数据,只需要花个几分钟随便写几行代码,就能爬到我们想要的数据。

但是想要爬取稍微大型一些的网站数据,就不会这么容易了。这些网站的服务器,会分析收到的每一条request,来判断该请求是否为用户操作。这种技术,我们把它称为反爬技术。常见的反爬技术,楼主知道的有上面所述的分析请求,还有验证码技术。对于这两种情况,我们在构造爬虫程序的时候就需要稍微费点力气了。

先来介绍第一种的应对方法。首先我们要知道一条request的组成部分,不同网站的request格式可能会有点不同。对于这一点,我们可以通过浏览器的开发者工具,抓到一个网站的请求数据格式。如下图:

此为使用谷歌浏览器抓取的请求信息。

我们可以看到request headers的格式,所以在访问这样的网站的时候,我们就不能忘了在postdata中放上一条伪造的headers。

其中referer键对应的值是要访问的网址。

某些网站还会需要有cookie的用户验证,我们可以通过调用


requests.Session().cookies


来获得它。

如果在爬虫中需要提交某些信息的话,还要构造一下postdata的数据。比如这样:

三、关于多网页的爬取

如果网页地址有规律,那么构造url用个循环函数就好,对于网页地址中包含随机码的时候,通常就是先爬取根页面,获取到所有想爬取的子页面url,把这些url放进一个url池(项目小是一维的列表,项目大的时候可能会是高维的列表)里,循环爬取。

而比较高效的方式是使用多线程技术,demo有点长只贴关键部分。

开两个线程,一个爬取url放进url池,一个从url池里获取url然后爬取内容,再开一个线程监控两个线程,如果两个线程运行完毕,结束主线程。

python的多线程机制底层做的其实不好,理由不多讲。另,多线程具体操作很多就不展开讲了。

四、关于使用代理ip

很多网站会有ip检测机制,当同一ip以人力无法做到的速度多次访问网站时,通常就会触发这种机制。

代理ip的话,通常通过爬取一些开源ip网站发布的ip构建ip代理池,比如西刺、蘑菇等。这样的一些网站,直接百度代理ip就能找到。然后,使用Flask+Redis维护代理池。这部分详细说明也比较长,就不细说了。也不是爬虫必要的东西。

五、关于selenium模仿浏览器操作

关于selenium主要介绍以下几点:

1、selenium 是一套完整的web应用程序测试系统,包含了测试的录制(selenium IDE),编写及运行(Selenium Remote Control)和测试的并行处理(Selenium Grid)。

2、Selenium的核心Selenium Core基于JsUnit,完全由JavaScript编写,因此可以用于任何支持JavaScript的浏览器上。

3、selenium可以模拟真实浏览器,自动化测试工具,支持多种浏览器,爬虫中主要用来解决JavaScript渲染问题。

4、用python写爬虫的时候,主要用的是selenium的Webdriver。

这些是某说明文档的内容,能看懂就看,看不懂就看楼主的简单版:

selenium的话主要用于模仿浏览器操作,比如向文本框中赋值,点击按钮等。配合高效率浏览器的话也是实现爬虫的一个比较好的方法。优点是通过模拟浏览器操作,不易被反爬检测。缺点是效率低下,非常不适合大型爬虫,小作坊自己玩玩就好。

六、关于Scrapy框架

这又是一块非常非常庞大的内容,很多技术一旦牵扯上框架就麻烦了。当然学会了的话,做大型项目就简单多了。重点就是框架一般针对比较大型的系统去做,所以其管理和操作会比较麻烦,内部的一些机制也不是很好说明。这一块的话如果以后有时间就单独写一篇文章详细介绍,毕竟从原理到搭建到配置到使用,内容太多。。

七、关于验证码处理

对于处理验证码的话,目前简单点的是直接使用PIL(pillow)做图像处理,然后使用Tesseract直接识别。此方法楼主已经写好了单独的文章供大家参考。

另,如果学过机器学习神经网络这部分的话,还可以使用卷积神经网络。这个方向楼主还正在学,简单给大家指条路,不详述。

以上是楼主想到的爬虫所有内容,若有错误还望指正。

最新文章
用AI轻松生成超逼真美女写真,搜狐简单AI带你开启创作之旅!
在经过这些工具的对比,搜狐简单AI脱颖而出,以“功能丰富”、“操作简单”、“适合新手用户”、以及“免费使用”的优势,成为平衡各类型用户需求的绝佳选择。如果你正在寻找便捷的AI生图工具,形成了合适的产品选择,请一定考虑搜狐简单AI
苹果怎么显示归属地
苹果手机作为现代通讯工具的重要组成部分,其归属地显示功能对于用户来说具有极大的便利性。然而,许多用户对于如何在苹果手机上设置和显示归属地信息并不十分了解。以下将详细解析这一功能,帮助用户更好地使用苹果手机。首先,确保你的苹
红米K50电竞版 OS1.0.8.0.ULJCNXM 面具ROOT服务
ROOT信息:机型:红米K50电竞版系统版本:OS1.0.8.0.ULJCNXM版本类型:稳定版安卓版本:14.0面具版本:27.0对应版本面具apk下载地址:http://tfile.7to.cn/qituroot/tool/Magisk-v27.0.apk手机ROOT完成开机后,请手动安装对应版本的面具APP
法院冻结不了三个银行
小编导语在当今社会,金融机构在经济活动中扮演着至关重要的角色。银行作为资金流动的中介,不仅支持经济发展,还为个人和企业提供了必要的金融服务。当法院需要对某些资金进行冻结时,往往会遇到各种法律和实际操作上的挑战。本站将探讨“
欧洲影院的多样性与独特魅力:它们如何在全球影坛占据一席之地
欧洲影院作为全球电影产业的一部分,其独特的文化、历史和观影体验吸引了无数影迷和旅游者。欧洲电影的制作风格、电影节以及影院本身的设计,形成了与其他地区截然不同的氛围。无论是经典的独立艺术影片,还是充满现代感的数字影像技术,欧
相信“感觉” 河北曲阳县购彩者中排列五100万元
投注方式中奖注数中奖金额排列3直选全国{d.list.pls.zjqk[0].qgzjzs}注/广西{d.list.pls.zjqk[0].gxzjzs}注{d.list.pls.zjqk[0].dzjj}元组选3全国{d.list.pls.zjqk[2].qgzjzs}注/广西{d.list.pls.zjqk[2].gxzjzs}注{d.list.pls.zjqk[2].dzj
网站外部链接建设工作内容
在搜索引擎优化()的实践中,是一项至关重要的工作。外部链接,也称为反向链接或入站链接,指的是其他网站指向你网站的链接。这些链接不仅可以提高网站的流量和曝光度,还能对搜索引擎排名产生积极影响,本文将详细说明网站的日常工作与细
策划大规模“钢铁+AI”场景应用为公司生产经营注入数智新动能!邹继新会见华为公司高级副总裁邹志磊!
点击上方“冶金信息网“,关注我们……新会员点击“阅读原文”订阅冶金信息网手机版;已订阅会员直接登录,联系小编,可获得一周试用。4月2日下午,宝武党委常委、宝钢股份党委书记、董事长邹继新会见了来访的华为公司高级副总裁邹志磊一行
迈腾330豪华播放视频支持mkv格式吗
汽车元宝大梁的结构在元宝大梁的结构中通常要求具有较高的刚度。主架与元宝横梁之间可加一层橡胶垫。当主架变形时,利用弹性橡胶的变形减弱元宝横梁对主架的冲击力。注意元宝梁安装在汽车底盘上时,其前端应尽量靠近驾驶室后部。当主架变形
相关文章
推荐文章
发表评论
0评