python爬虫学习第三十四天
来源:互联网 发布:淘宝店铺o2o 编辑:程序博客网 时间:2024/05/17 01:40
今天首先继续昨天未完成的selenium部分,主要是重定向问题
客户端重定向是在服务器将页面内容发送到浏览器之前,由浏览器执行 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 passdriver = 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 thingsthat matter to us in different ways-social media, news apps, talking
lking to friends-
可以看出效果非常好
今天先到这里啦,打卡~
- python爬虫学习第三十四天
- python爬虫学习第十四天
- python爬虫学习第二十四天
- 学习python的第三十四天-文件
- 第三十四天学习笔记
- python学习---第十四天
- python爬虫学习第三十二天
- python爬虫学习第三十六天
- 学习python的第十四天
- python第二十四天学习记录
- 第三十四天
- 学习python的第二十四天-Web
- 学习python的第四十四天-正则表达式
- python第三方爬虫开源库scrapy学习笔记
- Java学习总结第三十四天Java笔试题(三)
- 实习篇---第三十四天
- 毕业设计第三十四天
- 编程第三十四天
- Linux Ubuntu16.04 安装Python3.6
- Chapter 2
- php面试(简答)
- 学习笔记——51通过IO口模拟IIC实现AT24C02的读写
- OSG 飞机路径动画控制
- python爬虫学习第三十四天
- Hive 内置函数及自定义函数
- 32、进程池与回调函数
- [Hackerrank]Summing Pieces
- 第四章:循环
- 2018腾讯模拟考试,移动客户端开发岗
- scrapy写爬虫注意事项
- STL实现读写锁
- 为什么HashMap不安全