Python 爬虫:Selenium&PhantomJS抓取数据!

Selenium和PhantomJS配合,可以模拟浏览器获取包括JavaScript的数据。不单要获取网站数据,还需要过滤出“有效数据”。Selenium本身带有一套自己的定位过滤函数。它可以很方便地从网站返回的数据中过滤出所需的“有效数据”。

Python资源共享群:626017123

1、获取百度搜索结果

想知道Python模块最详细的用法,直接用help函数就可以了。鉴于Selenium.Webdriver的help文件太大,分屏显示又不那么方便,干脆将帮助文件保存到文件中慢慢查看。执行命令:

python

from selenium import webdriver

import sys

browser=webdriver.PhantomJS()

out=sys.stdout

sys.stdout=open('browserHelp.txt','w')

help(browser)

sys.stdout.close()

sys.stdout=out

browser.quit()

exit()

一定要加上browser.quit(),否则cmd.exe在执行exit时会无法退出。

执行结果如图1所示。

 

 

 

 

 

 

图1 获取help文件

想获取“有效信息”,第一步当然是网站获取返回数据,第二步就是定位“有效数据”的位置,第三步就是从定位中获取“有效数据”。

以百度搜索为例,使用百度搜索“Python Selenium”,并保存第一页搜索结果的标题和链接。从服务器返回数据,由PhantomJS负责,获取返回的数据用Selenium.Webdriver自带的方法page_source,例如:

from selenium import webdriver

browser=webdriver.PhantomJS()

browser.get(URL)

html=browser.page_source

有两种方法可以得到搜索结果页面。第一种,百度主页还是使用get方式上传request。这里可以先找一个浏览器,打开百度后搜索关键词。再把返回来的搜索结果的URL保存下来用Selenium&PhantomJS打开,再获取返回的数据。第二种,直接用Selenium&PhantomJS打开百度的主页,然后模拟搜索关键词。直接从Selenium&PhantomJS中返回数据。这里使用第二种方法,可以很清楚地看

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值