爬虫——爬虫通用模块

本文介绍了OCR工具Tesseract的安装与Python调用方法,以及无头浏览器PhantomJS的安装与使用。在斗鱼爬虫案例中,探讨了selenium在抓取网页内容时的注意事项,包括元素定位、处理页面加载问题和处理iframe等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一:tesseract的使用

        1.定义:

                Tesseract是一个将图像翻译成文字的OCR库(光学文字识别,Optical Character Recognition)

        2.安装:

                sudo apt-get install tesseract-ocr

        3.在python中调用Tesseract

                pip  install pytesseract

        4.Tesseract处理规范的文字

                在终端中:

                        tesseract test.jpg text

                在python代码中:

                        import pytesseract

                        from PIL import Image

                        image=Image.open(jpg)

                        pytesseract.image_to_string(image)

二:driver的安装

        phantomjs安装指南

                #官网安装,apt_get可能会报错

                --解压文件

                tar -xvr phantomjs-1.9.7-linux-x86_64.tar.bz2

                -将程序移到一个合适的位置

                sudo mv phantomjs-1.9.7-linux-x86_64  /usr/local/src/phantomjs

                --创建软链接到环境变量中。这样可以直接在shell中使用phantomjs命令

                sudo In -sf /usr/local/scr/phantojs/bin/phantomjs /usr/local/bin/phantomjs

                --检查是否正常工作

                phantomjs --version

三:斗鱼爬虫

        selenium使用的注意点

        -获取文本和获取属性

           -先定位到元素,然后调用`.text`或者`get_attribute`方法来去

        -selenium获取的页面数据是浏览器中的elements的内容

        -find_element和find_elements的区别

           -find_element返回一个element,如果没有会报错

            -find_elements返回一个列表,没有就是空列表

            -在判断是否有下一页的时候,使用find_elements来根据结果的列表长度来判断

        -如果页面中含有iframe,frame,需要先调用driver.switch_to.frame的方法切换到frame中才能定位元素

        -selenium请求第一页的时候会等待页面加载完了之后在获取数据,但在点击翻页之后,hi直接获取数据,此时可能会报错,因为加载的数据还没有加载出来,需要time.sleep(3)

        -selenium中find_element_by_class_name只能接收一个class对应的一个值,不能传入多个

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值