day05 selenium库的基础使用
selenium请求库实现爬取京东商品信息:
导入selenium库
利用try-catch实现对是否能连接进行异常检测与捕获
get方式向京东主页发送请求
通过id查找iput输入框
send_kyes为当前标签传值
通过send_keys按回车键实现查询
通过find_elements_by_class_name爬取每个商品
利用循环遍历取每个商品的名称、url(通过session的get.Attribute()方法获取)、价格和评价人数:
find_element_by_css_selector('.p-name em').text
最后存入jd.txt文件
关闭驱动
1 1 from selenium import webdriver 2 2 # 导入键盘Keys 3 3 from selenium.webdriver.common.keys import Keys 4 4 import time 5 5 6 6 driver = webdriver.Chrome() 7 7 8 8 # 检测代码块 9 9 try: 10 10 # 隐式等待,等待标签加载 11 11 driver.implicitly_wait(10) 12 12 13 13 # 往京东主页发送请求 14 14 driver.get('https://www.jd.com/') 15 15 16 16 # 通过id查找input输入框 17 17 input_tag = driver.find_element_by_id('key') 18 18 19 19 # send_keys为当前标签传值 20 20 input_tag.send_keys('中华字典') 21 21 22 22 # 按键盘的回车键 23 23 input_tag.send_keys(Keys.ENTER) 24 24 25 25 time.sleep(3) 26 26 27 27 ''' 28 28 爬取京东商品信息: 29 29 公仔 30 30 名称 31 31 url 32 32 价格 33 33 评价 34 34 ''' 35 35 # element 找一个 36 36 # elements 找多个 37 37 # 查找所有的商品列表 38 38 good_list = driver.find_elements_by_class_name('gl-item') 39 39 # print(good_list) 40 40 41 41 # 循环遍历每一个商品 42 42 for good in good_list: 43 43 # 通过属性选择器查找商品详情页url 44 44 # url 45 45 good_url = good.find_element_by_css_selector('.p-img a').get_attribute('href') 46 46 print(good_url) 47 47 48 48 # 名称 49 49 good_name = good.find_element_by_css_selector('.p-name em').text 50 50 print(good_name) 51 51 52 52 # 价格 53 53 good_price = good.find_element_by_class_name('p-price').text 54 54 print(good_price) 55 55 56 56 # 评价数 57 57 good_commit = good.find_element_by_class_name('p-commit').text 58 58 print(good_commit) 59 59 60 60 61 61 str1 = f''' 62 62 url: {good_url} 63 63 名称: {good_name} 64 64 价格: {good_price} 65 65 评价: {good_commit} 66 66 \n 67 67 ''' 68 68 # 把商品信息写入文本中 69 69 with open('jd.txt', 'a', encoding='utf-8') as f: 70 70 f.write(str1) 71 71 72 72 73 73 time.sleep(10) 74 74 75 75 # 捕获异常 76 76 except Exception as e: 77 77 print(e) 78 78 79 79 # 最后都会把驱动浏览器关闭掉 80 80 finally: 81 81 driver.close()
转载于:https://www.cnblogs.com/cooperstar/p/11101280.html
day05 selenium库的基础使用相关推荐
- PYTHON 爬虫笔记七:Selenium库基础用法
知识点一:Selenium库详解及其基本使用 什么是Selenium selenium 是一套完整的web应用程序测试系统,包含了测试的录制(selenium IDE),编写及运行(Selenium ...
- Python Selenium库的使用
(一)Selenium基础 入门教程:Selenium官网教程 1.Selenium简介 Selenium是一个用于测试网站的自动化测试工具,支持各种浏览器包括Chrome.Firefox.Safar ...
- win爬取网址获取宵宫语音,使用python的selenium库来模拟点击
前言:经过大量的收集资料,发现因为seleuninm的更新,所有的教程都各不相同,因此自己花了半天时间学习了完整的一个爬取过程,并分享一个用Chrome爬取的示例. 一.环境准备 python> ...
- Python 模拟浏览器访问网页,Selenium库的详细使用
(一)Selenium基础 入门教程:Selenium官网教程 1.Selenium简介 Selenium是一个用于测试网站的自动化测试工具,支持各种浏览器包括Chrome.Firefox.Safar ...
- Python爬虫之selenium库使用详解
Python爬虫之selenium库使用详解 本章内容如下: 什么是Selenium selenium基本使用 声明浏览器对象 访问页面 查找元素 多个元素查找 元素交互操作 交互动作 执行JavaS ...
- Python+selenium 自动化-基本环境搭建,调用selenium库访问百度查询天气实例演示
Python+selenium 自动化 第一章:基本环境搭建 ① 安装 selenium 库 ② 下载对应版本的浏览器驱动 ③ 调用百度查天气演示 第一章:基本环境搭建 ① 安装 selenium 库 ...
- Python之selenium:selenium库的简介、安装、使用方法之详细攻略
Python之selenium:selenium库的简介.安装.使用方法之详细攻略 目录 selenium库的简介 1.Selenium需要一个驱动程序来与所选的浏览器交互 selenium库的安装 ...
- matplotlib库绘图基础
matplotlib库画图基础 文章目录 matplotlib库画图基础 1.matplotlib简介 2.绘图操作 2.1导入画图库 2.2画第一个图 2.3创建figure 2.4控制线条风格 2 ...
- python中webdriver_浅谈python中selenium库调动webdriver驱动浏览器的实现原理
最近学web自动化时用到selenium库,感觉很神奇,遂琢磨了一下,写了点心得. 当我们输入以下三行代码并执行时,会发现新打开了一个浏览器窗口并访问了百度首页,然而这是怎么做到的呢? 1 from ...
最新文章
- autorelease什么时候释放_乌龟的天性是什么,饲养中要释放龟的天性吗?
- csdn博客怎么修改字体的大小和颜色
- Gson简要使用笔记
- 前端如何实现音乐盒胶盘的转动_干货来袭!web前端开发工程师必看之如何使用CSS3实现瀑布流效果?...
- 《信息熵,联合熵,条件熵,交叉熵,相对熵》
- python入门经典27版_【python】编程语言入门经典100例--27
- c#使用XSLT将xml文档转换为html文档
- VM14安装CentOS7并配置网络
- ubuntu 16.04 wps安装教程
- C++ Grammar
- 3D Touch 之死
- 看尚c49s电视恢复出厂设置后无法注册问题
- 利用Python在网上接单,兼职也能月薪过万,真的假的?
- 逻辑运算符(logical operator)
- ogr2ogr转坐标
- CSS中的cursor用法
- DELL-R730服务器U盘安装操作系统指南
- Unity-3D相机跟随控制
- 简述 jvm 原理与工作流程
- 推荐考察系统“双管齐下”,提高考察工作效率
热门文章
- BZOJ1439 : YY的问题
- 菜鸟做HTML5小游戏 - 刮刮乐
- 移动WEB的页面布局
- 免安装Mysql在Mac中的神坑之Access denied for user 'root'@'localhost' (using password: YES)
- html5 --- 特性检测
- 26 JSX深度剖析与使用技巧
- SQL计算100以内的质数(可以把100换成任意的整数)
- Elementary OS安装Chrome
- _M_invoke(_Index_tuple_Indices...)
- JavaScript中OOP——面向对象中的继承/闭包