selenium动态网页爬虫复习

遇到动态网页,通过ajax加载,无法通过源码分析,可以产用自动化测试工具来实现预先加载

#预先装浏览器驱动
from selenium import webdriver

browser = webdriver.Chrome(executable_path = '驱动本地地址')  # 用的chrome驱动
browser.get('http://www.baidu.com')   #请求网站地址
print browser.page_source   #打印加载后源码
browser.quit()   #关闭浏览器

我们在取节点的时候,不需要用selenium的内置函数,用scrapy即可(模拟点击输入需要用函数):

#接上面的代码
from scrapy.selector import Selector
se = Selector(text = browser.page_source)
se.css()   #即可分析 

phantomjs在多进程的情况下,性能下降很严重,win环境下,chrome速度最快
无界面chrome

from selenium import webdriver
from pyvirtualdisplay import Display
dis = Display(visible=0, size=(800, 600))
dis.start()
browser = webdriver.Chrome()
browser.get(url)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值