用python来爬取某鱼的商品信息(2/2)

这篇具有很好参考价值的文章主要介绍了用python来爬取某鱼的商品信息(2/2)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

上一篇文章

本章内容

设置浏览器为运行结束后不关闭(可选)

定位到搜索框的xpath地址

执行动作

获取cookie

保存为json文件

修改cookie的sameSite值并且导入cookie

导入cookie(出错)

导入cookie(修改后)

最后出现页面

需要注意的问题

所有代码

总结


上一篇文章

用python来爬取某鱼的商品信息(1/2)_木木em哈哈的博客-CSDN博客本章讲理论,后面一节讲代码拿来练练手的,练练selenium包,实战一下(本来想拿来练手的,没想到他喵的有挺多防爬的,直接开局就困难难度我靠,凸(艹皿艹 ))找到可以爬取的网站然后添加cookie然后刷新界面就可以发现搜索结果出来了这一次实战经历真的让我遇到了selenium许多奇奇怪怪的反爬手段,也是让我可以大幅度提升自己实战经验的一个经历,前前后后排bug,绕反爬,这一个项目打了整整两天。累diethttps://blog.csdn.net/mumuemhaha/article/details/132238660?spm=1001.2014.3001.5502

本章内容

主要讲的是上一章的代码实现

用python来爬取某鱼的商品信息(2/2),python,python,开发语言,爬虫,selenium,html

导入所需要的程序包

from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.common.keys import Keys
import time
import json

设置浏览器为运行结束后不关闭(可选)

之后先设置自己想要搜索的内容,并且把浏览器设置为允许结束后不关闭,并且打开要爬取的咸鱼网站(可设可不设)

input_1=input('输入想要搜索的内容:')

option = webdriver.ChromeOptions()
option.add_experimental_option("detach", True)

# 注意此处添加了chrome_options参数
driver = webdriver.Chrome(chrome_options=option)
driver.get('https://h5.m.goofish.com/app/idleFish-F2e/fish-mini-pha/search.html?spm=a2170.tb_mini_index.0.0')

定位到搜索框的xpath地址

driver_1=driver.find_element(by='xpath',value='/html/body/div/div/div[1]/input')

执行动作

执行动作(调用鼠标api点击刚刚定位的搜索框,然后输入input_1的值并且回车

ActionChains(driver) \
    .move_to_element(driver_1) \
    .click_and_hold() \
    .pause(1) \
    .send_keys(input_1) \
    .key_down(Keys.ENTER)\
    .perform()

time.sleep(1)

中间的.pause(1)以及time.sleep(1)是等待一秒钟的时间(保险起见,怕网页没有加载好,或者你设置一个selenium等待函数更保险)

获取cookie

接下来就是获取cookie,获取cookie方法上一章讲了

用python来爬取某鱼的商品信息(2/2),python,python,开发语言,爬虫,selenium,html

 在你的浏览器上,下载cookie editor插件登录,不要用运行python时跳出的浏览器,正常打开浏览器(这样不会跳验证码。。。即使跳了也可以手动成功过),导出你的cookie

保存为json文件

然后新建一个json格式的文件并且把它命名为cookie.json

用python来爬取某鱼的商品信息(2/2),python,python,开发语言,爬虫,selenium,html

修改cookie的sameSite值并且导入cookie

导入cookie(出错)

cookies=json.load(open('cookie.json', 'r'))
for cookie in cookies:
    driver.add_cookie(cookie)

但是!!!!

前面讲过直接导入会报错

 assert cookie_dict[‘sameSite‘] in [‘Strict‘, ‘Lax‘] AssertionError()

由于这里语法规定sameSite必须为‘Strict‘, ‘Lax‘两个之一,不然就报错

所以我们要遍历字典,并且把字典中的sameSite设置为Strict

导入cookie(修改后)

所以代码改为

cookies=json.load(open('cookie.json', 'r'))
for cookie in cookies:
    if'sameSite' in cookie:
        cookie['sameSite'] = 'Strict'
    driver.add_cookie(cookie)
driver.refresh()

注意,导入cookie后要用driver.refresh()刷新

打印源代码

 然后打印网页的源代码,注意要等3秒加载元素(或者用re库带的筛选,筛选你想要的的元素,比如商品链接,价格,以及介绍)

time.sleep(3)
print(driver.page_source)

最后出现页面

用python来爬取某鱼的商品信息(2/2),python,python,开发语言,爬虫,selenium,html

需要注意的问题

  • 首先要说的是这个通过python不如通过app抓包来的稳定
  • 页面中你登录的cookie的失效时间是不确定的,所以你可能需要经常更新cookie(看个人情况)
  • 无法频繁(比如5分钟一次)搜索,否则会跳滑块验证,或者你有多个账号也可以搞(大概也就这个流程)
  • 写出来的代码只是提取出来网页源代码——其实都提取出网页源代码了,使用就只有一个筛选了(csdn上有大把的优质博主和大佬教你通过源代码过滤有用的信息)
  • 当然如果需要的话我可以再水一篇博客用python来爬取某鱼的商品信息(2/2),python,python,开发语言,爬虫,selenium,html
  • 它理论上可以关联到钉钉机器人或者是QQ机器人上实现定时推送咸鱼信息(啊?你问我为什么不继续写?因为还没学,不然这期标题末尾就不是(2/2)而是(2/3)了;咳咳咳...u1s1,钉钉应该是有教程教的,傻妞机器人应该也可以执行python脚本的,“按理”来说不会很难实现,实在不行我再去学吧(累die...)

所有代码

所有代码附上吧

from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.common.keys import Keys
import time
import json

input_1=input('输入想要搜索的内容:')


# 不自动关闭浏览器
option = webdriver.ChromeOptions()
option.add_experimental_option("detach", True)

# 注意此处添加了chrome_options参数
driver = webdriver.Chrome(chrome_options=option)
driver.get('https://h5.m.goofish.com/app/idleFish-F2e/fish-mini-pha/search.html?spm=a2170.tb_mini_index.0.0')


driver_1=driver.find_element(by='xpath',value='/html/body/div/div/div[1]/input')



ActionChains(driver) \
    .move_to_element(driver_1) \
    .click_and_hold() \
    .pause(1) \
    .send_keys(input_1) \
    .key_down(Keys.ENTER)\
    .perform()

time.sleep(1)

cookies=json.load(open('cookie.json', 'r'))
for cookie in cookies:
    if'sameSite' in cookie:
        cookie['sameSite'] = 'Strict'
    driver.add_cookie(cookie)
driver.refresh()

time.sleep(3)
print(driver.page_source)





总结

这些代码搞得我晕头转向的,尤其是那个内嵌的登录页面让我走了很多弯路,但是对于这个库的学习应该也算是初窥门径吧,如果有大佬有优化的地方欢迎指出(真的没学多深,很容易出错的)

用python来爬取某鱼的商品信息(2/2),python,python,开发语言,爬虫,selenium,html文章来源地址https://www.toymoban.com/news/detail-647519.html

到了这里,关于用python来爬取某鱼的商品信息(2/2)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用python爬取淘宝商品信息

    要使用Python爬取淘宝商品信息,您可以按照以下步骤: 安装必要的库 您需要安装Python的requests库和BeautifulSoup库。 发送请求并解析HTML页面 使用requests库发送HTTP请求,然后使用BeautifulSoup库解析HTML页面。在这里,我们将以淘宝的\\\"蚊帐\\\"为例。 提取所需的信息 通过分析HTML页面,

    2024年02月15日
    浏览(89)
  • python 爬取某站视频

    也是感觉好久都没有写博客了,主要是因为学业繁忙(其实是想多摆烂一会儿。。。) 距离暑假还有一个月,各科老师也开始布置相关的期末考试内容了。。。。。。 最近英语老师给我们留了一个期末作业(大学牲又要忙起来了),内容是拍摄一个短视频,既然是视频那素

    2024年02月04日
    浏览(44)
  • python批量爬取某站视频

    前言: 本项目是批量下载B站如下图示例的视频: (家里的小孩想看动画片,就下载到U盘上在电视上给他们放。。。) 在这个项目中,涉及到的模块有以下几个: 1.shutil: Python 标准库中的一个模块,用于文件操作,包括复制、移动、删除文件等。在这个项目中,主要用于创

    2024年02月20日
    浏览(44)
  • python 使用selenium等爬虫技术爬取某华网

    本程序可以根据时间要求获取某华网上不同模块的新闻内容,时间要求包括设置截止日期,以及时间间隔,比如说获取距离2023-04-20一天以内的新闻。主要使用了selenium有关的爬虫技术,具体实现如下: 目录 目录 一、SpiderXinhua类的基础属性 二、日期获取与格式转换的函数ti

    2024年01月16日
    浏览(38)
  • Python爬虫实战系列:如何爬取某乎热搜榜单

    本篇文章将带你通过Python爬虫实战,学习如何爬取某乎平台的热搜榜单。

    2024年02月11日
    浏览(70)
  • 使用Python爬取某查查APP端(Appium自动化篇)

      某查查网站反爬虫风控还是较强的,之后会分别介绍一下 PC端协议、APP端自动化、APP端接口协议 三种采集方案。这里主要介绍APP端的自动化方式,APP端自动化方式需要登陆账号,协议的话需要签名授权( 自动化经测试没有太多限制、走协议接口的话账号与次数有捆绑 )

    2024年02月13日
    浏览(40)
  • 淘宝商品数据爬取商品信息采集数据分析API接口

         数据采集是数据可视化分析的第一步,也是最基础的一步,数据采集的数量和质量越高,后面分析的准确的也就越高,我们来看一下淘宝网的数据该如何爬取。 点此获取淘宝API测试key密钥 淘宝网站是一个动态加载的网站,我们之前可以采用解析接口或者用Selenium自动化

    2024年03月11日
    浏览(70)
  • Selenium介绍--实例爬取京东商品信息与图片

    目录 一、Selenium简介 二、Selenium组成 三、Selenium特点 四、Selenium的基本使用 1.下载所用浏览器需要的驱动 2.创建项目并导入依赖 3.入门 3.代码演示 五、实例爬取京东商品信息与图片 _ 5.1 执行效果 操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chr

    2023年04月08日
    浏览(37)
  • selenium自动化教程及使用java来爬取数据

    selenium 是一个用于自动化测试 Web 应用的工具集 ,它可以模拟用户自动去浏览器网页上进行点击、输入、选择下拉值复选框、鼠标移动、任意 JavaScript 执行等等操作。 selenium 有三个产品: Selenium WebDriver:基于浏览器的回归自动化套件和测试,你可以使用 Java、Python、JavaScri

    2024年02月10日
    浏览(76)
  • 20行代码来爬取某某云的榜单音乐

    今天来爬爬音乐,一丝丝的无聊 软件环境 Python3.8 pycharm 模块 requests、re、os 三个 其中requests是第三方模块需要手动安装一下 re、os都是内置模块,不需要安装 浏览器开发者工具 咱们需要学会如何使用开发者工具。 对此很多小伙伴都不会,因为每个浏览器的开发者工具细节上

    2024年02月06日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包