Python Day5 爬虫-selenium高级和实战

本文详细介绍了Python Selenium的高级用法,包括如何使用代理、基本配置、隐式等待与显示等待的实现,并提供了51job数据抓取和某东商品评价数据抓取的实战案例。
摘要由CSDN通过智能技术生成

Day5 selenium高级和实战

1. selenium使用代理

'''
Author:KathAmy
Date:2022/8/17  9:49
键盘敲烂,共同进步!
'''
from selenium.webdriver import Chrome, ChromeOptions

# selenium模仿人的行为,所有不容易被封IP,但咱还是得学
# 1.创建配置对象
options = ChromeOptions()
# 2.添加配置
options.add_argument('--proxy-server=http://')

# 通过指定配置创建浏览器对象
b = Chrome(options=options)

b.get('https://movie.douban.com/top250')

2. selenium基本配置

'''
Author:KathAmy
Date:2022/8/17  9:59
键盘敲烂,共同进步!
'''
from selenium.webdriver import Chrome,ChromeOptions

options = ChromeOptions()
# 1.设置取消测试环境
options.add_experimental_option('excludeSwitches', ['enable-automation'])
# 2.设置取消图片加载
options.add_experimental_option("prefs", {
   "profile.managed_default_content_settings.images": 2})

3. selenium等待

3.1 隐式等待

1)如果没有设置隐式等待:在通过浏览器取标签的时候,如果标签不存在会直接报错
2) 如果设置了隐式等待:在通过浏览器获取标签的时候,如果标签不存在会直接报错,不会马上报错,
而是在指定时间范围内不断尝试重新获取标签,直到获取到标签或超时为止(超时会报错)

注:一个浏览器只需要设置一次等待时间,它会作用于这个浏览器每次获取标签的时候

引入模块

from selenium.webdriver import Chrome, ChromeOptions
options = ChromeOptions()
options.add_experimental_option('excludeSwitches', ['enable-automation'])
options.add_experimental_option("prefs", {
   "profile.managed_default_content_settings.images": 2})

b = Chrome(options=options)
b.get('https://www.jd.com')

# 1)设置隐式等待时间
b.implicitly_wait(5)

# 2)获取标签的时候隐式等待时间才会生效
input_tag = b.find_element_by_id('key'
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值