python 22 selenium滚动和常见反爬

本文介绍了Python的selenium库在网页滚动和反爬方面的应用。详细讲解了如何执行页面滚动,包括语法和示例;自动登录的方法,包括requests和selenium实现,并附带了查找cookie的步骤;以及代理IP的设置,对于requests和selenium两种方式进行了说明。
摘要由CSDN通过智能技术生成

python 22天 selenium滚动和常见反爬

一 页面滚动设计

1 语法:执行滚动操作

执行js中滚动代码:window . scrollBy ( x 方向偏移量,y 方向偏移量)

  • x , y 是像素值,

  • 窗口左右滚动,就 y =0, 设置x的值,x为正,窗口就向右滚动,x的值为负,窗口就向左滚动,

  • 窗口上下滚动就是x为0,设置y的值,y 的值为正,窗口就向下滚动,y的值为负,窗口就向上滚动。

  • 为了加载完整个页面,就要让这个页面全部加载完,就要设置整个窗口一直滚动到最后,可以设置一个循环,让这个循环遍历完,就可以加载完这个页面,需要不停的试一试。

  • 所有需要的数据都加载完了,就可以去分析数据。

2 . 例题展示
from time import sleep
from  selenium.webdriver import  Chrome
from bs4 import BeautifulSoup
##执行滚动操作    -   执行js中滚动代码:window.scrollby(x方向偏移量,y方向偏移量)
# 语法:b.execute_script('window.scrollBy(0, 1800)')  ## b去执行的脚本代码(写的是执行的代码,就是窗口执行滚动)
b = Chrome()
b.get('https://www.jd.com/')
b.find_element_by_id('key').send_keys('手机\n')
sleep(1)

for x in range(10):  # 为了滚动完整个界面,所有,就加入for循环,让它滚动5次,每次滑动700个像素,每次滚动后就睡眠1秒
    b.execute_script('window.scrollBy(0, 700)')
    sleep(1)


##解析数据,使用bs4

soup = BeautifulSoup(b.page_source,'lxml')
all_goods = soup.select('.gl-warp>li')
print(len(all_goods))

二 自动登录

自动登录即指的是,登录的时候,不需要登录账号,直接登录后,获取数据

2.1 requests 自动登录
  • 原理:打开需要人工在浏览器上完成登录操作,获取登录后的cookie(信息),再通过代码发送请求时候携带登录后的cookie

  • 流程:

    • 第一步:打开要登录网站的地址,检查里面找到cookie代码,赋值粘贴下来。
  • 第二步:在hesders里面,加入cookies,键是‘cookie’,键所对应的值是第一步在网站上找到的cookie代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值