黑马python2.7的爬虫3- 动态HTML处理和机器图像识别

关于爬虫部分一些建议:

  1. 尽量减少请求次数,能抓列表页就不抓详情页,减轻服务器压力,程序员都是混口饭吃不容易。

  2. 不要只看 Web 网站,还有手机 App 和 H5,这样的反爬虫措施一般比较少。

  3. 实际应用时候,一般防守方做到根据 IP 限制频次就结束了,除非很核心的数据,不会再进行更多的验证,毕竟成本的问题会考虑到。(代理ip)

  4. 如果真的对性能要求很高,可以考虑多线程(一些成熟的框架如 Scrapy都已支持),甚至分布式...

关于反爬虫部分的一些建议:

携程技术中心 - 携程酒店研发部研发经理崔广宇 <爬虫与反爬虫> 技术分享

1、动态HTML介绍

js,jq,ajax,dhtml

使用了 Ajax 或 DHTML 技术改变 / 加载内容的页面,可能有一些采集手段。但是用 Python 解决这个问题只有两种途径:

  1. 直接从 JavaScript 代码里采集内容(费时费力)
  2. 用 Python 的 第三方库运行 JavaScript,直接采集你在浏览器里看到的页面(这个可以有)。模拟浏览器

2、Selenium

Selenium 可以根据我们的指令,让浏览器自动加载页面,获取需要的数据,甚至页面截屏,或者判断网站上某些动作是否发生。 模拟浏览器操作

Selenium 库里有个叫 WebDriver 的 API。WebDriver 有点儿像可以加载网站的浏览器,但是它也可以像 BeautifulSoup 或者其他 Selector 对象一样用来查找页面元素,与页面上的元素进行交互 (发送文本、点击等),以及执行其他动作来运行网络爬虫。

用Python做爬虫的各位,不要再用PhantomJS了(有解决办法)

selenium webdriver 启动三大浏览器Firefox,Chrome,IE

很强,超级强大!!!

1

#启动谷歌浏览器

from selenium import webdriver
driver = webdriver.Chrome()
driver.get('http://www.baidu.com/')

2

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')
driver = webdriver.Chrome(chrome_options=chrome_options)
driver.get("https://cnblogs.com/")

恩,果然python好多库要学习,去 webdriver官网找资料

案例一:网站模拟登录

案例二:动态页面模拟点击

案例三:执行 JavaScript 语句

3、机器视觉

对图片识别,验证码识别,还可以学习,牛叉

import pytesseract
from PIL import Image

image = Image.open('test.jpg')
text = pytesseract.image_to_string(image)
print text







































评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值