11.4 Selenium+Chromedriver获取动态数据--scrapy爬虫初学者学习过程

内容:页面等待 + 切换页面 + 代理IP

作者:Irain
QQ:2573396010
微信:18802080892
GitHub项目链接:https://github.com/Irain-LUO/Scrapy_Study.
视频资源链接:https://www.bilibili.com/video/BV1P4411f7rP?p=64

1 页面等待

在这里插入图片描述
在这里插入图片描述

1.1 示例:隐式等待 + 显示等待
## 6 Selenium-Ajax.py
from selenium import webdriver
driber_path = r'D:\Information\Working\pycharm\ChromeDriver\chromedriver.exe'# Chromedriver的绝对路径
driver = webdriver.Chrome(executable_path=driber_path)# 初始化一个driver驱动,并且制定Chromedriver的路径
driver.get("https://www.baidu.com")# 请求网页
# ================= 隐式等待 ========================
driver.implicitly_wait(10)  #  等待10秒
element = driver.find_element_by_id('kw')
print('='*100)
print(element)
# ================= 显示等待 ========================
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
element = WebDriverWait(driver,10).until( #  等待10秒
    EC.presence_of_all_elements_located((By.ID,'su'))
)
print('='*100)
print(element)

在这里插入图片描述

2 切换页面

在这里插入图片描述

2.1 示例:新标签页 + 页面切换 + WebElement
## 7 Selenium-Windows.py
from selenium import webdriver
driber_path = r'D:\Information\Working\pycharm\ChromeDriver\chromedriver.exe'# Chromedriver的绝对路径
driver = webdriver.Chrome(executable_path=driber_path)# 初始化一个driver驱动,并且制定Chromedriver的路径
driver.get("https://www.baidu.com")# 请求网页
# ================= 新标签页打开豆瓣网址 ========================
driver.execute_script("window.open('https://www.douban.com/')") # 新标签页打开豆瓣网址
print(driver.current_url)  # 当前url
print(driver.window_handles) # 窗口中所有的标签页url
# ================= 标签页切换 ========================
driver.switch_to.window(driver.window_handles[2]) # 跳转到豆瓣标签页
print(driver.current_url)   # 当前url
# ================= WebElement ========================
DownloadB = driver.find_element_by_class_name('lnk-app') # 获取下载豆瓣APP元素
print(type(DownloadB))  #  查看类型WebElement
print(DownloadB.get_attribute('href')) # 获取下载豆瓣的链接
driver.save_screenshot('douban.png') #  截图

在这里插入图片描述

在这里插入图片描述

出现data:,标签的原因暂不清楚。

在这里插入图片描述

3 代理IP

在这里插入图片描述

# 8 Selenium-IP.py
# ================= 代理IP ========================
from selenium import webdriver
driber_path = r'D:\Information\Working\pycharm\ChromeDriver\chromedriver.exe'# Chromedriver的绝对路径
options = webdriver.ChromeOptions()  
options.add_argument("--proxy-server=http://163.204.247.186:9999")  # 添加代理IP
driver = webdriver.Chrome(executable_path=driber_path, chrome_options=options)# 初始化一个driver驱动,设置代理IP
driver.get("http://httpbin.org/ip")# 查看代理IP

由于大部分代理IP都是无效的,所有不在这里用图片演示。
代理IP网址:https://www.kuaidaili.com/free/
https://www.xicidaili.com/nn/1

发布:2020年5月7日

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值