验证码破解是做爬虫经常要面对的问题。对于一般字符串或者算式的验证码,可以使用网页截图,然后OCR识别的方式来识别出验证码字符串来。 网页截图可以使用selenium的save_screenshot()方法; 用PIL图像处理库来截取验证码图片; 用Tesseract来做OCR识别 要安装的python第三方库有:selenium、pillow(PIL)、pytesseract 要安装的软件有:selenium用的webdriver、pytesseract用的Tesseract 1. 网页截图并截取验证码 i…
爬虫遭遇http error 521
最近做了个爬虫需要用到代理ip,然后想去快代理上爬点代理ip下来用。 结果使用urllib2访问http://www.kuaidaili.com/proxylist/1时候发现总是返回521错误。 使用HTTPError的read方法可以打印出HTTP的返回内容。 try: resp = urllib2.urlopen(url) contents = resp.read() except urllib2.HTTPError, error: print e contents = error.read() pr…
python爬虫
好像从python开始流行起,他就与爬虫扯上关系了。一提起python就想到爬虫程序,可能是因为python提供的库(模块)比较方便吧,不管是自带的urllib,还是各种第三方库。总结一下我所了解的关于python爬虫的知识,我觉得可以将这些库分为下面四大类:http协议库,文档解析库,模拟浏览器,爬虫框架。 1. urllib、urllib2、urllib3、requests urllib、urllib2是python 2自带的http库,它们负责请求url链接并返回结果。urllib2并不完全是对url…
python的浏览器“驱动”库:selenium
上两周的时候,陈怡同学问我怎么通过程序自动化截屏浏览器页面,她说有篇论文用的是python与selenium。当时我的心理活动是这样的:“卧槽selenium是什么鬼,女博士果然是见多识广。” =。=# 然后查了一下,selenium大概可以理解成一个浏览器模拟器(或者实际上是浏览器驱动器,Selenium WebDriver),selenium提供多种编程语言的接口让我们可以通过程序来驱动本地浏览器,并执行我们想要的操作。 以陈怡同学的需求为例,就是通过python调用selenium接口来驱动我的Fir…