python爬虫学习第三十四天
2017-08-29 21:53
302 查看
今天首先继续昨天未完成的selenium部分,主要是重定向问题
客户端重定向是在服务器将页面内容发送到浏览器之前,由浏览器执行 JavaScript 完成的
页面跳转,而不是服务器完成的跳转。当使用浏览器访问页面的时候,有时很难区分这两
种重定向。由于客户端重定向执行很快,加载页面时你甚至感觉不到任何延迟,所以会让 你觉得这个重定向就是一个服务器端重定向
我们可以通过selenium用一种智能的方法来检测客户端重定向是否完成,首先从页面开始加载时就“监视”DOM 中的一个元素,然后重复调用这个元素直到Selenium 抛出一个 StaleElementReferenceException 异常;也就是说,元素不在页面的 DOM 里了,说明这时 网站已经跳转
练习 智能检测客户端重定向是否完成
到这里selenium的功能就介绍完成了
下一个大的内容:图像识别与文字处理
将图像翻译成文字一般被称为光学文字识别(Optical Character Recognition,OCR) 。可以 实现 OCR 的底层库并不多,目前很多库都是使用共同的几个底层 OCR 库,或者是在上面 进行定制。包装后的OCR库常常会变得非常复杂。
这里使用的图像处理库主要有两个:lpillow 和 Tesseract,另外如果要训练Tesseract还需要用到Numpy这个库。。NumPy 是一个非常强大的库,具有大量线性代数 以及大规模科学计算的方法。因为 NumPy 可以用数学方法把图片表示成巨大的像素数组, 所以它可以流畅地配合 Tesseract 完成任务。
安装这两个库使用pip命令就可以了
其中,特别强调tesseract 是一个 Python 的命令行工具,不是通过 import语句导入的库。安装之后,要用 tesseract 命令在 Python 的外面运行
大多数时候我们处理的文字都是格式规范的文字图片,格式规范的文字图片大概有以下的特点:
• 使用一个标准字体(不包含手写体、草书,或者十分“花哨的”字体)
• 虽然被复印或拍照,字体还是很清晰,没有多余的痕迹或污点
• 排列整齐,没有歪歪斜斜的字
• 没有超出图片范围,也没有残缺不全,或紧紧贴在图片的边缘
一般电脑上打出的文字经过比较规整的截图,得到的就是格式规范的文字图片
随便到网上截图了一段文字如下:
让我们来试试即OCR的结果
As the late, great Dr Seuss once said, ‘there is no one alive who is
you-er than you.” At Google, we know this statement is truer than
true. Sure, we all have many things in common, but none of us has
quite the same mix of passions, interests and goals as the next
person. And, while we each keep up to date on the things
that matter to us in different ways-social media, news apps, talking
lking to friends-
可以看出效果非常好
今天先到这里啦,打卡~
客户端重定向是在服务器将页面内容发送到浏览器之前,由浏览器执行 JavaScript 完成的
页面跳转,而不是服务器完成的跳转。当使用浏览器访问页面的时候,有时很难区分这两
种重定向。由于客户端重定向执行很快,加载页面时你甚至感觉不到任何延迟,所以会让 你觉得这个重定向就是一个服务器端重定向
我们可以通过selenium用一种智能的方法来检测客户端重定向是否完成,首先从页面开始加载时就“监视”DOM 中的一个元素,然后重复调用这个元素直到Selenium 抛出一个 StaleElementReferenceException 异常;也就是说,元素不在页面的 DOM 里了,说明这时 网站已经跳转
练习 智能检测客户端重定向是否完成
from selenium import webdriver import time from selenium.webdriver.remote.webelement import WebElement from selenium.common.exceptions import StaleElementReferenceException def waitForLoad(driver): elem = driver.find_element_by_tag_name("title") count = 0 while True: if(count>20): print("Time Overflow") return count+=1 time.sleep(.5) try: elem = driver.find_element_by_tag_name("title") except StaleElementReferenceException as e: return pass driver = webdriver.PhantomJS(executable_path="C:/Users/gaoji/Documents/python/phantomjs-2.1.1-windows/bin/phantomjs") driver.get("http://pythonscraping.com/pages/javascript/redirectDemo1.html") waitForLoad(driver) print(driver.page_source)
到这里selenium的功能就介绍完成了
下一个大的内容:图像识别与文字处理
将图像翻译成文字一般被称为光学文字识别(Optical Character Recognition,OCR) 。可以 实现 OCR 的底层库并不多,目前很多库都是使用共同的几个底层 OCR 库,或者是在上面 进行定制。包装后的OCR库常常会变得非常复杂。
这里使用的图像处理库主要有两个:lpillow 和 Tesseract,另外如果要训练Tesseract还需要用到Numpy这个库。。NumPy 是一个非常强大的库,具有大量线性代数 以及大规模科学计算的方法。因为 NumPy 可以用数学方法把图片表示成巨大的像素数组, 所以它可以流畅地配合 Tesseract 完成任务。
安装这两个库使用pip命令就可以了
其中,特别强调tesseract 是一个 Python 的命令行工具,不是通过 import语句导入的库。安装之后,要用 tesseract 命令在 Python 的外面运行
大多数时候我们处理的文字都是格式规范的文字图片,格式规范的文字图片大概有以下的特点:
• 使用一个标准字体(不包含手写体、草书,或者十分“花哨的”字体)
• 虽然被复印或拍照,字体还是很清晰,没有多余的痕迹或污点
• 排列整齐,没有歪歪斜斜的字
• 没有超出图片范围,也没有残缺不全,或紧紧贴在图片的边缘
一般电脑上打出的文字经过比较规整的截图,得到的就是格式规范的文字图片
随便到网上截图了一段文字如下:
让我们来试试即OCR的结果
As the late, great Dr Seuss once said, ‘there is no one alive who is
you-er than you.” At Google, we know this statement is truer than
true. Sure, we all have many things in common, but none of us has
quite the same mix of passions, interests and goals as the next
person. And, while we each keep up to date on the things
that matter to us in different ways-social media, news apps, talking
lking to friends-
可以看出效果非常好
今天先到这里啦,打卡~
相关文章推荐
- Python基础学习----网页爬虫
- python3.x爬虫学习:股票数据定向爬虫笔记
- Python爬虫学习系列教程
- python爬虫学习(一)
- Python爬虫包 BeautifulSoup 学习(一) 简介与安装
- python 爬虫学习三(Scrapy 实战,豆瓣爬取电影信息)
- Python爬虫学习(1)
- python爬虫学习(1)--关于正则表达式输入和提取中文
- 使用python进行爬虫学习(一)
- python爬虫学习第二十九天
- 小猪的Python学习之旅 —— 9.爬虫实战:爬取花瓣网的小姐姐
- 大神教你如果学习Python爬虫 如何才能高效地爬取海量数据
- python爬虫学习--pixiv爬虫(2)--国际排行榜的图片爬取
- Python爬虫学习笔记(一)环境配置与包的安装
- 学习Python爬虫(三):Requests库入门级使用
- Python爬虫系列(一)初期学习爬虫的拾遗与总结(6.8更)
- python爬虫学习
- python爬虫学习(9) —— 一些工具和语法
- Python3爬虫学习2:如何应对网站的反爬虫机制
- 萌新的Python学习日记 - 爬虫无影 - 添加headers抓取动态网页内容:TripAdvisor(上)