一: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对应的一个值,不能传入多个