动态网页抓取(selenium动态网页有两种方法:1.分析网页找到真实网页地址)
优采云 发布时间: 2021-12-02 05:14动态网页抓取(selenium动态网页有两种方法:1.分析网页找到真实网页地址)
selenium的安装和使用
一.评论
我们之前抓取的网页被列为*敏*感*词*。起点中文网站都是静态网页。此类网页在浏览器中显示的内容都在HTML源代码中。但是现在很多网站都使用JavaScript来展示网页内容,这时候静态网页爬取技术就不行了。爬取动态网页有两种方式:
1.分析网页,找到真实的网页地址(比如爬取中财网的双色球信息实例),
2.使用selenium模拟浏览器。
二.Selenium 介绍和安装
1.什么是硒?
Selenium 也是一种用于 Web 应用程序测试的工具。Selenium 测试直接在浏览器中运行,就像真实用户在操作一样。支持的浏览器包括 IE、Mozilla Firefox、Mozilla Suite 等。
2.安装
只需使用 pip 命令安装它!
pip install selenium
安装可能会失败。请多试几次。如果下载太慢,我们可以用pip换源,重新下载。
部分国内资源:
阿里云
中国科学技术大学
豆瓣
清华大学
中国科学技术大学
具体步骤:
如图,进入用户目录下APPData下Local下的pip文件夹,不创建就创建了。创建 pip.ini 文件并复制以下代码并保存。
[global]
timeout=6000
index-url=https://pypi.tuna.tsinghua.edu.cn/simple
三.浏览器选择与安装
1.查看selenium webdriver支持的浏览器类型
from selenium import webdriver
help(webdriver)
常用的浏览器有phantomjs、Google Firefox
2.安装phantomjs
官网下载:""
安装:将phantomjs压缩包中的可执行文件添加到python目录下。如果使用anaconda,添加到anaconda目录下(与python.exe同级)
如图:
3.测试
输入python,输入以下命令没有错误!
from selenium import webdriver
driver=webdriver.PathtomJS()
四.申请
我们使用百度来测试selenium+phantomjs的功能。测试模拟输入关键字进行搜索。这里我们使用了一种新的元素定位方法xpath
有兴趣的可以阅读菜鸟教程《》学习他的语法
#! -*- encoding:utf-8 -*-
from selenium import webdriver
browser=webdriver.PhantomJS()
browser.get('http://www.baidu.com')
browser.implicitly_wait(10) #他是一个智能等待函数 因为利用JS引擎运行需要时间
#找到页面表单的文本框
textElement=browser.find_element_by_id('kw')
textElement.send_keys('python selenium') #模拟按键输入
#找到提交按钮
submitElement=browser.find_element_by_id('su')
submitElement.click() #点击元素
print (browser.title)
#xpath解析
"""
定位网页中的元素(locate elements)
find_element_by_id
find_element_by_name
find_element_by_xpath
find_element_by_link_text
find_element_by_partial_link_text
find_element_by_tag_name
find_element_by_class_name
find_element_by_css_selector
操作元素方法:
clear 清除元素的内容
send_keys 模拟按键输入
click 点击元素
submit 提交表单
"""
有很多浏览器选择。这里选择的是.PhantomJS(),它没有接口。
除了选择:browser=webdriver.PhantomJS(),还可以选择谷歌火狐等有界面的浏览器(前提是电脑有这样的浏览器)。例如,我们可以选择:
browser=webdriver.Chrome()
browser=webdriver.Firefox()
但是如果直接使用,就会报错
根据提示,我们知道我们缺少“geckodriver”,我们可以在线下载
“”
记得下载与你的浏览器版本一致或兼容的geckodriver,然后放到你的火狐浏览器目录下
这同样适用于 Google Chrome 的安装。如果Chromedriver版本与浏览器不兼容,可能会出现以下问题:
版本参考:
Chrome 驱动程序:"
司机:””
最好在路径中添加环境变量
小路:
这里的坑已经快填满了。遇到问题一定要记得百度。环境搭建好后,爬虫就会轻松愉快!
参考文章:
“”
“”
“”