selenium爬取笔记
导入第三方库selenium。
import selenium
from selenium import webdriver
下载好对应的浏览器驱动:
edge:https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/
chrome:https://code.google.com/p/chromedriver/downloads/list
firefox:https://github.com/mozilla/geckodriver/releases/
IE:NuGet Gallery | Selenium.WebDriver.IEDriver 4.0.0
下载完是一个压缩文件夹,打开文件夹,里面有一个webmsedgedriver.exe文件,把这个文件复制到除C盘以外的一个盘里,然后再把该路径配置到此电脑的系统环境里去。
配置环境的路径为“此电脑—右击属性—关于—高级系统设置—高级—环境变量—系统变量—path
将msedgedriver.exe文件的路径配置进去,然后再点确定。
# 创建浏览器对象,我这里是edge浏览器,如果是你们是用的chrome浏览器的话,这里的edge要改成chrome,firefox也是如此,首字母要大写!!
driver = webdriver.Edge()
driver.get('https://www.taobao.com/?spm=a21bo.jianhua.201857.1.5af911d9NTiGPH')
# 网页最大化
driver.maximize_window()
在这里运行一下,发现driver = webdriver.Edge()出现报错。
hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
FileNotFoundError: [WinError 2] 系统找不到指定的文件。During handling of the above exception, another exception occurred:Traceback (most recent call last):File "D:\learn\测试.py", line 4, in <module>driver = webdriver.Edge()File "D:\学习\pycharm 练习\learn\lib\site-packages\selenium\webdriver\edge\webdriver.py", line 62, in __init__super(WebDriver, self).__init__(DesiredCapabilities.EDGE['browserName'], "ms",File "D:\学习\pycharm 练习\learn\lib\site-packages\selenium\webdriver\chromium\webdriver.py", line 90, in __init__self.service.start()File "D:\学习\pycharm 练习\learn\lib\site-packages\selenium\webdriver\common\service.py", line 81, in startraise WebDriverException(
selenium.common.exceptions.WebDriverException: Message: 'msedgedriver' executable needs to be in PATH. Please download from https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/
这里说这个驱动需要在配置里,但是我一想我明明配置了路径,怎么还要配置呢,后来一查才知道,原来要把路径以对象的形式给到webdriver.Edge()这个方法里面去。
所以代码得改成这样。
# 当然这里的edge也得改成自己的浏览器名称,小写就可以
from selenium.webdriver.edge.service import Service# 用Service()方法将路径给到变量s,这里用了正则表达式
s = Service(r'D:\msedgedriver.exe')
# 这里的service是Edge方法里的参数,具体用法可以用鼠标选中Edge,然后按住ctrl,再用鼠标左键点击,就会弹出相应的方法文件
driver = webdriver.Edge(service=s)
driver.get('https://www.taobao.com/?spm=a21bo.jianhua.201857.1.5af911d9NTiGPH')
# 网页最大化
driver.maximize_window()
然后再来运行代码,就会弹出淘宝网页,这里有个重点,代码和人来浏览网页的时候会出现不同情况:
1、如果是人来逛网页的话,在搜索里搜索,选中物品,一直到最后确定购买后,才会弹出登录用户账户的界面弹窗;
2、如果是代码去操控驱动执行浏览网页,则会再搜索栏里输入设定好的商品后,直接弹出登陆界面的弹窗。
我们先写好要搜索的内容代码。
这里还有一个内容:
一般是用find_element_by_xpath()的方法去获取网页元素,结果我的pycharm却在底下显示
# 这里要换用方法,在上面加一个from selenium.webdriver.common.by import By# 不推荐使用find_element_by_xpath(),请使用find_element()方法代替
find_element_by_* commands are deprecated. Please use find_element() instead # 也就是find_elemnet_by_xpath() == find_element(By.XAPTH, ‘要找的元素')
这里用了xpath方法去获取搜索框的网页元素,然后设置网页随机延迟1到3秒。
import randomdriver.find_element(By.XPATH, '//*[@id="J_TSearchForm"]/div[1]/button').click()
time.sleep(random.randint(1, 3))
再获取搜索按钮,也是设定随机延迟1到3秒。
selenium爬取笔记相关推荐
- 爬虫之selenium爬取斗鱼网站
爬虫之selenium爬取斗鱼网站 示例代码: from selenium import webdriver import timeclass Douyu(object):def __init__(s ...
- Php使用selenium爬虫,selenium,python爬虫_使用selenium爬取网站时输出结果不正确,selenium,python爬虫 - phpStudy...
使用selenium爬取网站时输出结果不正确 网站链接:http://www.ncbi.nlm.nih.gov/pubmed?term=(%222013%22%5BDate%20-%20Publica ...
- [Python3网络爬虫开发实战] 7-动态渲染页面爬取-4-使用Selenium爬取淘宝商品
在前一章中,我们已经成功尝试分析Ajax来抓取相关数据,但是并不是所有页面都可以通过分析Ajax来完成抓取.比如,淘宝,它的整个页面数据确实也是通过Ajax获取的,但是这些Ajax接口参数比较复杂,可 ...
- 利用Selenium爬取淘宝商品信息
文章来源:公众号-智能化IT系统. 一. Selenium和PhantomJS介绍 Selenium是一个用于Web应用程序测试的工具,Selenium直接运行在浏览器中,就像真正的用户在操作一样. ...
- [python爬虫] selenium爬取局部动态刷新网站(URL始终固定)
在爬取网站过程中,通常会遇到局部动态刷新情况,当你点击"下一页"或某一页时,它的数据就进行刷新,但其顶部的URL始终不变.这种局部动态刷新的网站,怎么爬取数据呢?某网站数据显示如下 ...
- [python爬虫] Selenium爬取内容并存储至MySQL数据库
前面我通过一篇文章讲述了如何爬取CSDN的博客摘要等信息.通常,在使用Selenium爬虫爬取数据后,需要存储在TXT文本中,但是这是很难进行数据处理和数据分析的.这篇文章主要讲述通过Selenium ...
- python爬取网易云歌单_详解python selenium 爬取网易云音乐歌单名
目标网站: 首先获取第一页的数据,这里关键要切换到iframe里 打印一下 获取剩下的页数,这里在点击下一页之前需要设置一个延迟,不然会报错. 结果: 一共37页,爬取完毕后关闭浏览器 完整代码: u ...
- layui获取input信息_python爬虫—用selenium爬取京东商品信息
python爬虫--用selenium爬取京东商品信息 1.先附上效果图(我偷懒只爬了4页) 2.京东的网址https://www.jd.com/ 3.我这里是不加载图片,加快爬取速度,也可以用Hea ...
- Python之网络爬虫(selenium爬取动态网页、爬虫案例分析、哈希算法与RSA加密)
文章目录 一.selenium爬取动态网页 二.爬虫案例分析 三.哈希hash算法与RSA加密 一.selenium爬取动态网页 1.动态网页认知 爬虫其实就是在模仿浏览器的行为 应对要多次数据的交互 ...
最新文章
- magento php 所需模块,Magento 博客
- Python基础day01【软件安装、变量的定义和使用、数据类型、标识符和关键字、输入输出、数据类型转换、运算符、PEP 8 规范】
- Eclipse中如何修改SVN的地址
- php openssl加密数据长度,PHP使用openssl解密数据(用mcrypt加密)
- 信息学奥赛一本通 2021:【例4.6】最大公约数
- BeginnersBook MongoDB 教程
- 质量故事(3)---袋鼠与笼子
- cut、tr、wc、sort4
- 网络蜘蛛Spider简介
- arduino环境下用ESP32连接PS2手柄
- Python渗透测试之流量分析:流量嗅探工具编程
- GoogleChrome最新的代理设置流程
- rda分析怎么做_PCA、PCoA、NMDS 、RDA和CCA等排序分析方法
- Cortex-M0和Cortex-M0+的异常类型
- vue面试五之vue修饰符中 .lazy 等用法、Vue v2.4中新增的$attrs及$listeners属性的使用、v-once 的使用场景、vue组件里的定时器该如何销毁、vue海量数据优化等
- 报刊订阅管理系统(数据库课程设计)
- 皮德常《c++程序设计教程》第一章第二题:编写一个程序,要求用户输入一年12个月每月的降雨总数,并用一个float数组存储。
- 小米商城项目api接口编写日志
- 华为服务器批量系统软件,华为云ECS批量管理工具
- 【入门数据分析】淘宝用户行为分析