返回顶部
首页 > 资讯 > 后端开发 > Python >用python来爬取某鱼的商品信息(2/2)
  • 542
分享到

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

python开发语言爬虫seleniumhtml 2023-08-31 09:08:11 542人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

目录 上一篇文章 本章内容 设置浏览器为运行结束后不关闭(可选) 定位到搜索框的xpath地址 执行动作 获取cookie 保存为json文件 修改cookie的sameSite值并且导入cookie 导入cookie(出错) 导入cook

目录

上一篇文章

本章内容

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

定位到搜索框的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

本章内容

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

导入所需要的程序包

from selenium import WEBdriverfrom selenium.webdriver import ActionChainsfrom selenium.webdriver.common.keys import Keysimport timeimport 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方法上一章讲了

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

保存为json文件

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

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

所有代码

所有代码附上吧

from selenium import webdriverfrom selenium.webdriver import ActionChainsfrom selenium.webdriver.common.keys import Keysimport timeimport jsoninput_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)

总结

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

来源地址:https://blog.csdn.net/mumuemhaha/article/details/132260466

--结束END--

本文标题: 用python来爬取某鱼的商品信息(2/2)

本文链接: https://lsjlt.com/news/385019.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 用python来爬取某鱼的商品信息(2/2)
    目录 上一篇文章 本章内容 设置浏览器为运行结束后不关闭(可选) 定位到搜索框的xpath地址 执行动作 获取cookie 保存为json文件 修改cookie的sameSite值并且导入cookie 导入cookie(出错) 导入cook...
    99+
    2023-08-31
    python 开发语言 爬虫 selenium html
  • 用python来爬取某鱼的商品信息(1/2)
    目录 前言 第一大难题——找到网站入口 曲线救国  模拟搜索 第二大难题——登录 提一嘴 登录cookie获取 第一种 第二种  第四大难题——无法使用导出的cookie  原因 解决办法 最后 出现小问题 总结 下一篇博客(大部分代码实现...
    99+
    2023-08-31
    python 开发语言
  • 使用Python怎么爬取淘宝的商品信息
    这期内容当中小编将会给大家带来有关使用Python怎么爬取淘宝的商品信息,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。python有哪些常用库python常用的库:1.requesuts;2.scrapy...
    99+
    2023-06-14
  • Python爬取京东商品信息评论存并进MySQL
    目录构建mysql数据表第一版:第二版:第三版:构建mysql数据表 问题:使用SQL alchemy时,非主键不能设置为自增长,但是我想让这个非主键仅仅是为了作为索引,autoin...
    99+
    2024-04-02
  • 用python爬取分析淘宝商品信息详解技术篇
    目录背景介绍一、模拟登陆二、爬取商品信息1. 定义相关参数2. 分析并定义正则3. 数据爬取三、简单数据分析1.导入库2.中文显示3.读取数据4.分析价格分布5.分析销售地分布6.词...
    99+
    2024-04-02
  • 用Python获取亚马逊商品信息
    目录引言一、获取亚马逊列表页的信息二、获取详情页信息三、代理设置 四、全部代码总结引言         亚马逊网站相较于国内的购物网...
    99+
    2024-04-02
  • Python怎么爬取京东商品信息评论存并进MySQL
    这篇文章主要介绍“Python怎么爬取京东商品信息评论存并进MySQL”,在日常操作中,相信很多人在Python怎么爬取京东商品信息评论存并进MySQL问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Pytho...
    99+
    2023-06-30
  • python项目实战:利用selenium+浏览器爬取淘宝商品信息
    前言今天为大家介绍一个Python利用selenium打开浏览器的方式来爬取淘宝商品的信息,下面就来看看,关于selenium的知识点,是如何做到控制浏览器获取网站的信息导入第三方库...
    99+
    2023-06-02
  • 如何使用python网络爬虫基于selenium爬取斗鱼直播信息
    这篇文章给大家分享的是有关如何使用python网络爬虫基于selenium爬取斗鱼直播信息的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、本文使用的第三方包和工具python 3.8  谷歌...
    99+
    2023-06-29
  • 怎么用Python获取亚马逊商品信息
    这篇文章将为大家详细讲解有关怎么用Python获取亚马逊商品信息,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。引言        亚马逊网站相较于国内的购物网站,可...
    99+
    2023-06-26
  • 怎么利用Python网络爬虫来提取信息
    怎么利用Python网络爬虫来提取信息,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。下面小编就为大家带来一篇Python网络爬虫与信息提取(实例讲解)。小编觉得挺不错的,现在就...
    99+
    2023-06-02
  • 利用Python通过商品条形码查询商品信息的实现示例
    目录一 商品条形码二 查询商品条形码的目的三 Python实现3.1 爬取网站介绍3.2 python代码实现提前说明,由于博文重在讲解,代码一体性有一定程度的破坏。如想要省事需要完...
    99+
    2024-04-02
  • 用Python爬取618当天某东热门商品销量数据,看看大家喜欢什么!
    前言 本文结构如下: 1、爬取某东畅销商品数据 2、清洗数据并并进行简单分析 3、将数据进行可视化展示 数据的字段如下: 一共爬取了243条某东畅销商品数据 一、获取数据 1. 分...
    99+
    2024-04-02
  • Python爬取用户观影数据并分析用户与电影之间的隐藏信息!
    一、前言 二、爬取观影数据 https://movie.douban.com/ 在『豆瓣』平台爬取用户观影数据。 爬取用户列表 网页分析 为了获取用户,我选择了其中一部...
    99+
    2024-04-02
  • Python大神利用正则表达式教你搞定京东商品信息的示例分析
    Python大神利用正则表达式教你搞定京东商品信息的示例分析,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。京东(JD.com)是中国最大的自营式电商企业,2015年第一季度在中...
    99+
    2023-06-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作