使用selenium爬取淘宝网页商品

【爬虫实战】03使用Selenium爬取淘宝商品数据 是一个自动化测试工具,利用它可以驱动浏览器执行特定的动作,如点击、下拉等操作,同时还可以获取浏览器当前呈现的页面的源代码,做到可见即可爬。所以说,如果用 Selenium 来驱动浏览器加载网页的话,就可以直接拿到 JavaScript 渲染的结果了,不用担心使用的是什么加密系统。欢迎关注,共同探讨,共同进步!为了模拟人为进行操作,我们需要控制滚动条的移动,我们使用selenium执行js脚本的方法,来控制滚动条。请勿用于商业用途,请勿高频长时间访问服务器,请勿用于网络攻击,请勿恶意窃取信息,请勿用于作恶。 阅读详情
import json
from urllib.parse import quote
from selenium.common.exceptions import TimeoutException
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait
from bs4 import BeautifulSoup

browser = webdriver.Chrome()
wait = WebDriverWait(browser,15)
KEYWORD = 'iPad'

def index_page(page):
    '''
    抓取所搜页
    :param page: 页码
    :return:
    '''
    print('正在抓取第',page,'页')
    try:
        url = 'https://s.taobao.com/search?q=' + quote(KEYWORD)
        browser.get(url)
        if page > 1:
            input = wait.until(EC.presence_of_element_located((By.CSS_SELECTOR,'#mainsrp-pager div.form > input')))
            submit = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR,'#mainsrp-pager div.form > span.btn.J_Submit')))
            input.clear()
            input.send_keys(page)
            submit.click()
        wait.until(EC.text_to_be_present_in_element((By.CSS_SELECTOR,'#mainsrp-pager li.item.active > span'),str(page)))
        wait.until(EC.presence_of_element_located((By.CSS_SELECTOR,'.m-itemlist .items .item')))
        get_products()
    except TimeoutException:
        index_page(page)

def get_products():
    '''
    提取商品
    :return:
    '''
    html = browser.page_source
    soup = BeautifulSoup(html,'lxml')
    items = soup.find('div',{'class':'m-itemlist'}).find_all('div',{'data-category':'auctions'})
    #print(items)
    product_list = []
    for item in items:
        #print(item)
        product = {
            'image':item.find('div',{'class':'pic'}).a.img['src'],
            'price':item.find('div',{'class':'price g_price g_price-highlight'}).get_text().strip(),
            'deal':item.find('div',{'class':'deal-cnt'}).get_text(),
            'title':item.find('div',{'class':'row row-2 title'}).get_text().strip(),
            'shop':item.find('div',{'class':'shop'}).get_text().strip(),
            'location':item.find('div',{'class':'location'}).get_text().strip()
        }
        #print(product)
        product_list.append(product)
    with open('product.json','a',encoding='utf-8') as f:
        f.write(json.dumps(product_list,indent=2,ensure_ascii=False))
    print('ok')

for i in range(1,101):
    index_page(i)

部分结果为:

{
    "image": "//g-search1.alicdn.com/img/bao/uploaded/i4/imgextra/i2/13022581/O1CN01x8TLzf1Uw8ijNtCZa_!!0-saturn_solar.jpg_230x230.jpg",
    "price": "¥2398.00",
    "deal": "1734人付款",
    "title": "12期免息【送电动牙刷+1年延保】Apple/苹果 iPad 2018款 9.7英寸平板电脑 wifi平板电脑 吃鸡玩家",
    "shop": "绿森数码官方旗舰店",
    "location": "浙江 杭州"
  },
  {
    "image": "//g-search1.alicdn.com/img/bao/uploaded/i4/i2/1669409267/O1CN012IKKoeqk1Nwld2s_!!0-item_pic.jpg_230x230.jpg",
    "price": "¥2398.00",
    "deal": "5244人付款",
    "title": "[12期分期][两年保修]Apple/苹果 iPad 2018款 9.7英寸wifi新款平板电脑32G/128G 正品国行新品授权旗舰店",
    "shop": "卓辰数码旗舰店",
    "location": "浙江 杭州"
  },
  {
    "image": "//g-search1.alicdn.com/img/bao/uploaded/i4/i4/268451883/O1CN01fxAXtR1PmSGc2xFVa_!!0-item_pic.jpg_230x230.jpg",
    "price": "¥2328.00",
    "deal": "1825人付款",
    "title": "2018款ipad Apple/苹果 iPad 2018款 9.7英寸32/128Gwifi 平板电脑 3/6/12期分期 正品国行 全国联保",
    "shop": "三际数码官方旗舰店",
    "location": "山东 济南"
  },
  {
    "image": "//g-search3.alicdn.com/img/bao/uploaded/i4/i2/2616970884/O1CN011IOub5IKnvUp9nh_!!0-item_pic.jpg_230x230.jpg",
    "price": "¥2688.00",
    "deal": "8681人付款",
    "title": "【官网价优惠高达971元】Apple/苹果 iPad mini4 7.9英寸平板电脑 128G WiFi版 迷你智能平板电脑 金属轻薄",
    "shop": "苏宁易购官方旗舰店",
    "location": "江苏 南京"
  },
  {
    "image": "//g-search3.alicdn.com/img/bao/uploaded/i4/i1/2616970884/O1CN01Ld0NTf1IOub5txwnH_!!0-item_pic.jpg_230x230.jpg",
    "price": "¥2565.00",
    "deal": "5521人付款",
    "title": "【官网价优惠至高511元】2018新款 Apple/苹果 9.7英寸iPad 智能平板电脑 正品国行32G 128G",
    "shop": "苏宁易购官方旗舰店",
    "location": "江苏 南京"
  },
  {
    "image": "//g-search2.alicdn.com/img/bao/uploaded/i4/i3/1669409267/O1CN019lgc8W2IKKoe8pxMJ_!!0-item_pic.jpg_230x230.jpg",
    "price": "¥2158.00",
    "deal": "534人付款",
    "title": "Apple/苹果 Ipad 2017款 9.7英寸 平板电脑 32G/128G Wifi版",
    "shop": "卓辰数码旗舰店",
    "location": "浙江 杭州"
  },
  {
    "image": "//g-search3.alicdn.com/img/bao/uploaded/i4/i4/1115488308/O1CN012BF6yiFNCxMurOm_!!0-item_pic.jpg_230x230.jpg",
    "price": "¥2328.00",
    "deal": "33人付款",
    "title": "2328起!送钢化膜/现货速发/12期分期 Apple/苹果 iPad 2018款9.7英寸平板电脑WiFi新款平板电脑",
    "shop": "君问数码官方旗舰店",
    "location": "浙江 杭州"
  },
  {
    "image": "//g-search2.alicdn.com/img/bao/uploaded/i4/i3/1917047079/O1CN0122AEDnF6rAZNIFG_!!0-item_pic.jpg_230x230.jpg",
    "price": "¥6499.00",
    "deal": "",
    "title": "Apple/苹果 11 英寸 iPad Pro",
    "shop": "applestore官方旗舰店",
    "location": "上海"
  },
python3实现爬取淘宝页面的商品的数据信息(selenium+pyquery+mongodb) 1.环境须知 做这个爬取的时候需要安装好python3.6和selenium、pyquery等等一些比较常用的爬取和解析库,还需要安装MongoDB这个分布式数据库。 2.直接上代码 spider.pyimport re from config import * import pymongo from selenium import webdriver from selenium.com 阅读详情

相关推荐

【爬虫】python使用selenium抓取淘宝中的商品数据

前言 最近因为项目需要又得抓一批数据,和之前的scrapy不同,这次选择使用selenium来爬取。两种方法的区别如下: scrapy之类的库是基于网络请求来爬取的,也就是直接向目标服务器发送http请求,在这个过程中需要自己构造请求字段也就是json格式的request body。 selenium一类的库是基于自动化测试的,我们只需要知道想要访问的链接就好,其它的(异步加载图片、信息之类的)交给浏览器来做。也因此在使用时需要额外下载浏览器以及对应驱动,比如googledriver。 总而言之,虽然s

SY的博客 4788

Selenium实战-模拟登录淘宝并爬取商品信息

现在很多网站要获取数据都得要先登录。Selenium是一个用于Web应用程序测试的自动化工具。它直接运行在浏览器中,模拟真实用户的操作。本文介绍如何通过Selenium来登录淘宝并自动爬取商品信息。

学而思(xiejava的blog) 1万+

使用python + selenium爬取淘宝商品信息

因为淘宝是动态网页,很多商品的数据是动态加载的,所以我们就无法使用爬取静态页面的方式来抓取淘宝商品信息。这里我使用了自动化测试工具selenium来爬取动态页面的商品信息。这里有几个需要注意的地方,因为淘宝首页打开首先是二维码登录界面,所以为了直接通过程序实现登录,我们要利用指令find_element_by_id('J_Quick2Static').click(

chenpe32cp的博客 9455

Python爬虫实战之爬淘宝商品--selenium+Xpath

代码链接利用selenium来自动翻页爬取淘宝商品的标题,价格,销量,产地信息。注意自己配置好python环境(谷歌驱动…)jgs = []fkrss = []cdds = []main()data = {'标题': titles, '客单价': jgs, '销量': fkrss, '产地': cdds}df.to_excel('FL销售.xlsx', index=False)

nobestnobest的博客 5025

Selenium实战-模拟登录淘宝并爬取商品信息_使用selenium模拟真实登录行为,并爬取商品评论数据。(1)

运行代码后可以看到程序自动的调起了一个Chrome浏览器并访问了淘宝的登录页面,自动的输入了用户淘宝账号和密码,自动的点击了登录按钮,但出现了一个滑动验证的控件,要求滑动验证。人工拖动滑动验证控件,显示验证失败。这是因为淘宝有一套反爬机制识别是否是机器自动在登录。如果是人工打开浏览器,手工输入账号密码登录就不会弹出滑动验证控件进行验证。在网上有很多办法,如可以通过代理修改chormdriver的识别码,这里介绍通过Selenium如何接管已经运行的Chrome浏览器来实现规避淘宝的验证。

2401_84009773的博客 814

Python爬取淘宝销量数据!这年头数据就是钱啊!

前言 本文记录学习爬取淘宝网站上各品类下的销量最高的商品数据代码实现过程,涉及使用selenium库中的webdriver操作GOOGLE浏览器进行登陆、搜索、点击按销量从高到底排序、获取页面内容并使用beautiful库解析的过程。 一、基本环境配置 python版本:python 3.8.3 编辑器:anaconda3下的spyder 浏览器版本:Google Chrome 87.0.4280.88 浏览器驱动器:本文通过selenium中的webdriver驱动浏览器模拟人的点击行为爬取信...

爬遍所有网站 5065

多层次应对HTTPS网站超时:selenium.common.exceptions.TimeoutException

现在网络越来越普及,带宽速度普遍也有较大提升。伴随网络的普及,同时快速增长的还有网民的数量和网络流量。网站超时响应的“通病”,仍然是无法完全避免的。尤其是在网络流量高峰期,在使用类似Selenium的浏览器内核驱动driver方案过程中,这类问题的处理是关键。下面以Selenium WebDriver和Firefox为例子,介绍如何多层次应对网站超时响应的问题。 初始化设置WebDriver的页面加载和脚本执行超时限制。 from selenium import webdriver from sele

Nnnn的博客 7836

Apk脱壳圣战之---脱掉“梆梆加固”的保护壳

一、前言 现如今Android用户的安全意识不是很强,又有一些恶意开发者利用应用的名字吸引眼球,包装一个恶意锁机收费的应用,在用户被骗的安装应用之后,立马手机锁机,需要付费方可解锁。这样的恶意软件是非常让人痛恨的。所以本文就用一个案例来分析如何破解这类应用,获取解锁密码,让被骗的用户可以找回爽快! 二、分析软件锁机原理 本文用的是一款叫做:安卓性能激活.apk,关于样本apk文件后面会...

尼古拉斯.赵四的博客 5062

进阶4·淘宝商品爬取与分析(selenium,网页元素无法定位的四个解决办法)

淘宝估计是爬虫界一直想要去尝试的网页,小彬自学爬虫已有一段时间,在掌握selenium后就一直想要本着学习交流的态度和淘宝程序员叔叔切磋一下,嘻嘻。 唉,没想到这一切磋就耗费了我一天时间,不过还好,最后也小有成就,并且这次收获也不少,尤其对于网页的反蜘蛛机制。 我先梳理下遇到的困难: 1·网页登入,淘宝账号登入需要滑动验证码;支付宝账号登入,却找不到密码输入框标签。唉,愁死个人了 2·成功登入后,...

楼下小白 2996

记录一次PowerJob使用达梦数据库的配置

记录一次PowerJob使用达梦数据库的配置

早晨阳光一般暖的博客 2161

FreeRTOS项目:智能手表(1);

从 “最底层启动”→“系统基础配置”→“硬件驱动”→“中间件能力封装”→“上层业务功能”,分层递进、从基础到应用,就能逐步把整个项目的逻辑串联起来~

weixin_46847454的博客 1447

Python爬虫(入门+进阶)学习笔记 1-8 使用自动化神器Selenium爬取动态网页(案例三:爬取淘宝商品)

    selenium 是一套完整的web应用程序测试系统,包含了测试的录制(selenium IDE),编写及运行(Selenium Remote Control)和测试的并行处理(Selenium Grid)。Selenium的核心Selenium Core基于JsUnit,完全由JavaScript编写,因此可以用于任何支持JavaScript的浏览器上。    selenium可以模拟真...

kissazhu的博客 844

C语言设计模式全面解析:从理论到28个实战示例

本文系统介绍了23种经典设计模式在C语言中的实现方法。通过结构体、函数指针等技巧,C语言可以优雅地模拟面向对象特性,实现代码复用与解耦。文章分类详解了创建型、结构型、行为型三大类模式,并提供了28个完整代码示例,包括单例、策略、观察者等核心模式的精简实现。这些模式在嵌入式系统、操作系统内核等场景中广泛应用,如状态机、事件驱动等。学习C语言设计模式的关键在于理解模式意图,掌握函数指针和结构体组合等技巧,并在实际项目中灵活运用。本文为C语言开发者提供了全面的设计模式参考指南。

数字人生 364

python爬虫 — 爬取淘宝商品信息

(一)确定需要爬取的信息 在爬取前首先确定需要获取的信息,打开taobao,在搜索框中输入,需要获取的商品的信息,比如ipad,点击搜索 就可以看到许多的ipad,选择其中的一款商品,比如第一个 可以看到,其包含了以下的信息: (1)price: 售价 (2)deal-cnt: 付款人数 (3)name: 产品名称 (4)shop_name: 店铺名称 (5)loca...

冻梨不是梨的博客 5519

2.1 直流无刷电机(BLDC):机械结构与组件

本文详细解析了直流无刷电机(BLDC)的机械结构与核心组件。BLDC电机通过电子换向取代传统机械电刷,主要包含定子、转子、位置传感器和电子换向器四大组件。定子采用硅钢片叠压结构,配有三相绕组;转子采用永磁体材料,结构设计影响转矩特性;位置传感器(霍尔、编码器、旋转变压器)实现精准换向;电子换向器通过功率逆变拓扑完成电流控制。文章还对比了不同绕组类型、永磁材料及传感器技术的性能特点,为BLDC电机的设计与应用提供了理论基础。

技术工作者 393

PyTorch实战(13)——图卷积网络(Graph Convolutional Network,GCN)

图卷积网络 (Graph Convolutional Network, GCN) 模型能够同时结合节点级特征和图级(邻域)信息进行分类,显著提升了图数据建模能力,适用于节点分类、图分类等多种任务。本节中,我们通过 PyTorch Geometric 库在 CiteSeer 图数据集上构建模型,们首先用前馈神经网络作为基线模型完成节点分类任务,随后用 GCN 模型替代前馈网络显著提升了分类准确率。

盼小辉丶的博客 3318

Python爬虫学习记录——8.使用自动化神器Selenium爬取动态网页

文章目录Selenium实战 Selenium 什么是Selenium Selenium 是一个用于浏览器自动化测试的框架,可以用来爬取任何网页上看到的数据。 Selenium的下载与安装 安装:在终端输入 pip install selenium 下载:http://chromedriver.storage.googleapis.com/index.html,解压后放在…\Google...

赈川 1223

PNETLab 镜像包官方下载太慢?不急,最新版本PNET_4.2.10分享!

你好,这里是网络技术联盟站,我是瑞哥。PNETLab是一个强大的网络仿真工具平台,全称Packet Network Emulator Tool Lab。它不仅允许用户进行深入的网络实验,还支持社区成员之间的实验室共享。PNETLab致力于为学习者、教师以及网络工程师提供一个全面的实验环境,以便于他们能够在实际部署前测试和验证网络配置和协议。和。这两个部分相辅相成,共同构成了一个全面且灵活的网络仿真生态系统。

网络技术联盟站 4487

Python爬虫之获取淘宝商品数据

爬取淘宝信息数据 首先需要先导入webdriver from selenium import webdriver webdriver支持主流的浏览器,比如说:谷歌浏览器、火狐浏览器、IE浏览器等等 然后可以创建一个webdriver对象,通过这个对象就可以通过get方法请求网站 driver = webdriver.Chrome() # 创建driver对象 driver.get('https://www.baidu.com') # 请求百度 接下来可以定义一个方法:search_product 一、s

weixin_42577686的博客 9618

GEE APP:基于Sentinel-2遥感影像的植被指数(NDVI)和水体指数(NDWI)可视化应用

本文介绍了利用Google Earth Engine(GEE)平台处理Sentinel-2卫星数据的方法,重点讲解NDVI(归一化植被指数)和NDWI(归一化水体指数)的计算与应用。内容包括环境准备、数据加载与处理、指数计算原理、可视化方法以及实际应用案例。教程详细展示了如何定义研究区域、加载影像数据、进行指数运算,并生成专业统计报告和图例。文章还提供了常见问题解答和最佳实践建议,为生态环境监测、农业评估和水资源管理等场景提供了实用工具。通过JavaScript代码示例,读者可以快速掌握GEE平台的遥感影像

此星光明博客 273

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Python爬取淘宝商品评价信息实战

最近又有网友提到要出一个爬淘宝商品评论的教程。说实话淘宝的反爬机制做得比京东要严,所以用爬取京东商品评价信息的方式取爬取淘宝商品评价不太可行。本文还是介绍通过Selenium模拟登录后来进行淘宝商品评价信息的爬取。

学而思(xiejava的blog) 1万+

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Selenium分页爬取淘宝商品信息

这一节利用selenium爬取淘宝商品信息并保存至mongodb数据库 1.分析链接 打开淘宝网,我们在搜索框搜索ipad,产生链接为 https://s.taobao.com/search?q=ipad 需要获取的信息有商品图片,价格,标题,地址等信息,如下图所示。 在这里,我们爬取的页数按照跳转页数计算防止部分界面数据不稳定造成后续爬取失败。 2.代码实现 首先,我们获取商...

泽阳Alex的博客 1172

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

爬虫学习之18:使用selenium和chrome-headerless爬取淘宝网商品信息(异步加载网页)

       登录淘宝网,使用F12键观察网页结构,会发现淘宝网也是异步加载网站。有时候通过逆向工程区爬取这类网站也不容易。这里使用selenium和chrome-headerless来爬取。网上有结合selenium和PlantomJS来爬取的,但是最新版的Selenium已经放弃对PlantomJS的支持,所以这里使用chrome-headerless,方法其实差不多,由于selenium可以...

寸先生的AI道路 2462

学习用java基于webMagic+selenium+phantomjs实现爬虫Demo爬取淘宝搜索页面

 团队的技术栈以java为主,并且我的主语言是Java,研究时间不到一周。基于以上原因固放弃python,选择java为语言来进行开发。等之后有时间再尝试python来实现一个。https://www.cnblogs.com/null-qige/p/7844381.html       本次爬虫选用了webMagic+selenium+phantomjs,选用他们的原因如下: webMagic(v...

weixin_39650971的博客 2375

自学爬虫项目(二)一一利用selenium模拟淘宝登录,爬取商品数据

文章目录前言一、明确目标二、分析过程 前言 你是否还在为学习Python没有方向而苦恼?快来跟着壹乐一起学习吧!让我们共同进步! 今天我们用selenium与BeautifulSoup联动来模拟用户登录淘宝,爬取商品数据,让我们一起来尝尝这碗靓汤吧!???????????? 警告:本教程仅用作学习交流,请勿用作商业盈利,违者后果自负!如本文有侵犯任何组织集团公司的隐私或利益,请告知联系壹乐删除!!! 一、明确目标 根据我们输入的关键字搜索商品,从而查找爬取商品的名称,店铺名,价格,成交量,地址及商品链接

壹乐的博客 2654

爬虫百战(5)——使用自动化工具selenium爬取淘宝数据

在此声明:本次爬虫数据仅作为学术探讨,不用于商业。如有侵权,联系立删!!! 使用自动化工具selenium爬取淘宝数据准备工作爬虫所需的库和浏览器驱动网页分析工作网页分析代码实操效果展示 准备工作 爬虫所需的库和浏览器驱动 本次爬虫所需要的库 selenium #可使用pip命令安装 pip install selenium csv re time 安装浏览器驱动 以谷歌浏览器为例,在浏览器地址栏中输入chrome://version/查看浏览器版本 谷歌的驱动:chromedrive.

shy-2的博客 1001
上一篇: python五大基本算法之快速排序
下一篇: 以字典的方式读写csv文件
pyswt
博客等级 码龄8年 45粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值