ajax抓取网页内容(安装成功获取JS返回值库元素即为安装的成功示例一 )

优采云 发布时间: 2021-11-17 23:00

  ajax抓取网页内容(安装成功获取JS返回值库元素即为安装的成功示例一

)

  前言

  现在很多网站大量使用JavaScript,或者使用Ajax技术。这样,网页加载完成后,虽然url没有变化,但是网页的DOM元素的内容却可以动态变化。如果使用python自带的requests库或者urllib库来处理这类网页,那么获取到的网页内容与浏览器显示的内容不一致。

  解决方案

  使用 Selenium+PhantomJS。这两者一起可以运行一个非常强大的爬虫,它可以处理 cookie、JavaScript、标头和任何你想做的事情。

  安装第三方库

  Selenium是一款功能强大的网络数据采集工具,最初是为网站自动化测试而开发的,并有相应的Python库;

  Selenium 安装命令:

    pip install selenium

  安装 PhantomJS

  PhantomJS是一个基于webkit核心的无头浏览器,即没有UI界面,也就是浏览器,但是点击、翻页等与人相关的操作需要设计和实现。通过编写js程序,可以直接与webkit内核交互,在此基础上还可以结合java语言等,通过java调用js等相关操作。需要到官网下载对应平台的压缩文件;

  PhantomJS(phantomjs-2.1.1-windows)下载地址:根据不同系统选择对应版本

  windows系统下载PhantomJs,将解压后的可执行文件放在设置了环境变量的地方。如果不设置,后面的代码会设置,所以直接放这里方便;

  

  然后在检测下,在cmd窗口输入phantomjs:

  

  如果出现这样的画面,则表示成功;

  Mac系统,下载保存到某个路径后,可以直接保存在环境变量路径中,也可以在环境变量路径中创建phantomjs的软链接

  ln -s /usr/local/opt/my/phantomjs-2.1.1-macosx/bin/phantomjs /usr/local/bin

  测试代码:

  from selenium import webdriver

driver = webdriver.PhantomJS()

driver.get('http://www.baidu.com/')

print (driver.page_source)

  页面元素安装成功就是安装成功

  

  示例 1:

  Selenium+PhantomJS 示例代码:

  from selenium import webdriver

driver = webdriver.PhantomJS()

driver.get('http://www.cnblogs.com/feng0815/p/8735491.html')

#获取网页源码

data = driver.page_source

print(data)

#获取元素的html源码

tableData = driver.find_elements_by_tag_name('tableData').get_attribute('innerHTML')

#获取元素的id值

tableI = driver.find_elements_by_tag_name('tableData').get_attribute('id')

#获取元素的文本内容

tableI = driver.find_elements_by_tag_name('tableData').text

driver.quit()

  可以输出网页的源码,说明安装成功

  

  获取JS返回值

  

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线