day4 selenium爬取数据总结

day4 selenium爬取数据
一、selenium基本操作
导入相关模块:
from selenium.webdriver import Chrome
(一)、创建浏览器对象
b = Chrome()
(二)、打开网页(需要爬取哪个页面的数据就打开该页面对应的网页地址)
案例:爬取豆瓣电影250排行榜
b.get('https://movie.douban.com/top250?start=0&filter=')
(三)、获取网页源代码(注意:不管以什么方式更新了界面内容,page_source也会自动更新)
print(b.page_sourse)   # 获取豆瓣top250的页面源代码
二、selenium的翻页
导入相关模块
import time   # 控制停顿时间的模块

from selenium.webdriver import Chrome
(一)、翻页方法1
  1. 找到不同页面地址的变化规律,利用循环实现多页数据的请求
b = Chrome()  # 这个是打开浏览器,一定要放在循环的外面

for x in range(0, 256, 25):  # 找出的页数变化
    b.get('https://movie.douban.com/top250?start={x}&filter=')
    print(b.page_source)
(二)、翻页方法2
  1. 点击翻页按钮,刷新页面内容,在刷新后再次获取网页源代码
导入模块:
from selenium.webdriver.common.by import By
b = Chrome()
b.get('https://movie.douban.com/top250?start=0&filter=')

for _ in range(5):
    print(b.page_source)
    # 获取下一页按钮
    # next = b.find_element(By.CLASS_NAME, 'next')
    # 点击下一页按钮
    # next.click()
    b.find_element(By.CSS_SELECTOR, '.next')
  1. 翻页方法2涉及的知识点
  • selenium获取标签
浏览器对象.b.find_element(获取方式,数据)    —— 返回符合条件的第一个标签,结果是标签对象
浏览器对象.b.find_elements(获取方式,数据)    —— 返回符合条件的所有标签,结果是列表,列表中的元素是标签对象

获取方式:
By.ID   ——  通过ID属性值获取标签
By.CLASS_NAME   ——  通过class属性值获取标签
By.CSS_SELECTOR   —— 通过css选择器获取标签
By.LINK_TEXT     —— 通过a标签的标签内容获取标签
By.PARTIAL_LINK_TEXT   —— 通过标签内容所包含的部分内容来获取完整标签
  • 操作标签
1)输入框输入内容:输入框对应的标签.send_kyes(需要输入的内容)  ——  括号里输入需要输入的内容
2)点击标签:标签对象.click()
三、用代码控制浏览器滚动
js中页面滚动的代码:window.scrollBy(x方向的偏移量,y方向的偏移量)

滚动1次

b.execute_script('window.scrollBy(0,500)')   # 顺着Y轴滚动500

滚动多次

for x in range(10):   # 滚动10次
	b.execute_script('window.scrollBy(0,500)')
	time.sleep(1)   # 每滚动一次就停顿1秒
input(‘结束’)    # 如果不想关闭浏览器就加个input,入股要关闭则不加
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值