scrapy爬虫【2】→爬天猫

Scrapy第十五篇:后起之秀-Playwright Playwright 是微软在 2020 年初开源的新一代自动化测试工具,它的功能类似于 Selenium、Pyppeteer 等,它的功能非常强大,使用便捷简单,缺点是更新较快,市面上相关文档又少。 阅读详情

本文主要是以爬取淘宝为例子,但请不要大量爬取,对别人服务器造成压力,其实也不敢多爬,别人的防爬机制应该很厉害,小心ip被封。

首先要明确目标
比如:老板今天叫你爬取天猫销量前120的笔记本电脑的一些详细信息
然后你就可以先打开天猫笔记本电脑网址https://list.tmall.com/search_product.htm?spm=875.7931836/B.subpannel2016040.19.z5JOIv&pos=1&cat=50024399&theme=663&acm=2016031437.1003.2.720502&scm=1003.2.2016031437.OTHER_1458241115467_720502
再按销量进行排名
大致看一下有哪些信息是你需要的,并且可以爬取的。
这里写图片描述
比如我们要爬取的“商品名称”,“价格”,“月销量”,“商品url”
后面三个这一页就可以直接爬取
但是有木有发现商品名不全?
我们需要进入到商品url里面去爬取它的完整名称
这里写图片描述

现在大致的需求我们已经明确了,可以开始写代码了
首先需要写items.py

class TaobaoGoodsItem(scrapy.Item):
    GOODS_NAME = scrapy.Field()         # 商品名称
    GOODS_PRICE = scrapy.Field()        # 价格
    MONTHLY_SALES = scrapy.Field()      # 月销量
    GOODS_URL = scrapy.Field()          # 商品url

然后可以写爬取的逻辑代码了

#encoding=utf-8
import scrapy
from taobao_goods.items import TaobaoGoodsItem

class TapTop(scrapy.Spider):
    name = 'TapTop'
    allowed_domains = ['detail.tmall.com','list.tmall.com']
    start_urls = ['https://list.tmall.com/search_product.htm?spm=a220m.1000858.0.0.aVNGHZ&cat=53320010&sort=d&style=g&active=1&industryCatId=53320010&theme=663&type=pc']

    def parse(self,response):
        divs = response.xpath('//div[@id="J_ItemList"]/div')
        print("items len = %d" %len(divs))
        for div in divs:
            item = TaobaoGoodsItem()
            # 价格
            item['GOODS_PRICE'] = div.xpath('div/p[1]/em/text()').extract_first()
            # 月销量
            item['MONTHLY_SALES'] = div.xpath('div/p[3]/span[1]/em/text()').extract_first()
            # url
            good_url = div.xpath('div/div[2]/a[1]/@href').extract_first()
            if not 'http' in good_url:
                good_url = response.urljoin(good_url)
            item['GOODS_URL'] = good_url

            # 进入店里面
            yield scrapy.Request(url=good_url, meta={'item':item}, callback=self.detail_parse)
        next_page = response.urljoin(response.xpath('//a[@class="ui-page-next"]/@href').extract_first())
        yield scrapy.Request(url=next_page,callback=self.parse)

    def detail_parse(self,response):
        # 获取item
        item = response.meta['item']
        # 商品名称
        item['GOODS_NAME'] = response.xpath('//*[@id="J_DetailMeta"]/div[1]/div[1]/div/div[1]/h1/a/text()').extract_first()
        yield item

可能有些人看的不太懂,我详细解释一下
name是你的spider名(唯一的名称)
allowed_domains是你允许出现的域名,scrapy会自动过滤你不想爬取的网址
start_urls是你起始的url
//////////////////////////////////////////////////////////////////////////
xpath不想解释,自己去百度,很容易
scrapy.Request是再次发起一个网页请求
meta是用来传递数据的
response.meta[‘item’]可以获取到你刚才传进来的item
yield item就能调用pipelines生成文件了

注意这里我进入下一页的方式是直接点下一页,而不是很多博客里面对url页数进行修改,各有各的好处吧。
所以你就这样把这个程序跑起来,估计不到一分钟你的ip就会被封

然后我们来写settings.py文件(超级重要)

SPIDER_MODULES = ['taobao_goods.spiders']
NEWSPIDER_MODULE = 'taobao_goods.spiders'
# 设置深度 默认为0(无限制)
DEPTH_LIMIT = 2
USER_AGENT = 'Mozilla/5.0 (Windows NT 6.1; rv:40.0) Gecko/20100101 Firefox/40.0'

DEPTH_LIMIT 是scrapy帮你做好的东西,你要学会用啊。可以限制你爬取的深度,以免爬取过多

至于USER_AGENT请看我的第一篇博客:
http://blog.youkuaiyun.com/program_anywhere/article/details/72850085
亲生体验啊,你如果不加你试试,或许你爬过比如豆瓣这样的网站,不你加USER_AGENT是可以,反扒机制不太强,你要是在淘宝,天猫,这些大网站,你可以试试。我可是伤心欲绝过很多次,才把宝贵的经验分享给你

爬取的结果:
这里写图片描述

下一篇博客就基于这段代码,爬取淘宝笔记本电脑的图片

2025年使用Scrapy和Playwright解决网页抓取挑战的方案 是一款中间件,它将Scrapy(一个快速且强大的Python网络抓取框架)与Playwright(一个浏览器自动化库)集成在一起。这种组合使Scrapy能够通过利用Playwright渲染动态内容、与网页交互以及无缝管理浏览器上下文的能力来处理大量使用JavaScript的网站。网络抓取中的一项重大挑战是处理验证码,验证码旨在防止自动访问。在处理需要验证码的网站时,我们需要一个可靠的解决方案来自动识别和解决这些挑战,以保持抓取流程的连续性。 阅读详情

相关推荐

天猫商品评论爬虫攻略【基于scrapy框架】(内附词云图绘制代码)

目录简介网页展示阿里云的反爬策略我的反-反爬策略代码实现items类的定义爬虫规则的定义定义start_requests函数定义回调函数parse()settings.py的参数修改结果展示词云图绘制小结与感想 简介 近日因为公司业务需要,领导要求我批量获取一款天猫商城上的商品链接下的评论。虽然我已有超过一年的爬虫实战经验,但是一想到我即将面对的是“阿里云”这一BUG级怪物,头皮不由自主地发麻了。...

weixin_40825517的博客 2744

scrapy个人循序渐进

Scrapy个人学习记录

qq_51955445的博客 2127

Scrapy爬虫+Tkinter爬取天猫热门商品(三)

五、GUI构建 为了界面美观,我们使用Tkinter为该爬虫程序构建了一个GUI,即main.py。需包括以下功能: 1、关键词输入与执行爬虫 关键词输入框构建代码如下: # 关键字输入框 var = StringVar() e = Entry(root, textvariable=var).grid(row=2) 确认按钮构建代码如下: # 确认按钮 Button(root, tex

oSawatari的博客 3611

scrapy-playwright 入门(爬虫教程)

该插件只能在macOS和linux系统中使用。通过使用插件的playwright_page_event_handlers属性,完成事件监听。多使用搜索引擎,常看文档和源码,会对做项目有不错的帮助。

YYSonic407的博客 4629

Scrapy爬虫+Tkinter爬取天猫热门商品(二)

四、开始爬取 首先建立spider,爬取之前,设置name,爬取网站url等信息,并设置爬取时间间隔防止被ban。 name = "FindGoods" download_delay = 4 allowed_domains = ["tmall.com"] start_urls = [ "https://www.tmall.com/" ]

oSawatari的博客 4844

【Python网络爬虫实战指南】从数据采集到反反爬策略

本文通过6个工业级爬虫案例,深入解析Python爬虫技术栈,涵盖静态页面解析、动态渲染突破、数据存储方案及分布式爬虫架构设计。

赶紧的博客 3385

Scrapy爬虫+Tkinter爬取天猫热门商品(一)

一、引言 每当双十一、双十二,看着淘宝、天猫、京东网页上琳琅满目的商品,经常有人会因为选择困难症不知道该购买什么好。而且购物网站商品的排列顺序经常会受到人为控制。因此,一个具有通过输入关键字,筛选相关热门产品并按热门程度排序的程序是有存在意义的。本程序以天猫为例,使用Python语言开发,利用Scrapy框架爬取网页信息,利用Tkinter框架构建程序GUI。源代码已上传至GitHub:http

oSawatari的博客 5613

第 1 篇:什么是网络爬虫 —— 从一个故事读懂爬虫的本质

网络爬虫(Web Crawler / Web Spider / Web Robot),是一种按照一定规则,自动地抓取互联网信息的程序或脚本。它模拟人类浏览网页的行为(输入 URL → 服务器返回页面 → 解析页面 → 提取数据),但用程序代替人,速度可以快到每秒几千次。你可以把爬虫想象成一个永不疲倦的图书管理员你告诉它"去国家图书馆"(起始 URL);它走到书架前,把书名、作者、出版日期抄下来(提取数据);然后顺着书里的"参考文献"走到下一个书架(链接跟踪);

2201_76125261的博客 807

基于Scrapy的天猫商品数据爬取与分析实战(含API签名破解与可视化)

本文以华为Mate 60 Pro为例,详细介绍如何使用Scrapy框架爬取天猫商品数据,涵盖API签名破解、反爬应对、数据存储及可视化全流程,适合爬虫进阶学习者实践。

🚀免费专栏:✅穿越之灵脉重构师:重启天元代码系列✅Python筑基系列✅创新语言开发系列✅代码故事茶馆✅AI筑梦工作站 2303

天猫商品评论数据分析:爬虫到词云可视化

本文还有配套的精品资源,点击获取 简介:本项目通过Python网络爬虫技术抓取天猫商品评论数据,并运用词云分析技术挖掘和展示评论中的高频词汇。我们使用Scrapy框架绕过反爬机制,提取评论数据,并通过词云库生成直观的词云图,揭示消费者关注点。同时,涵盖了数据预处理和分析的基本技术要点。 1. 网络爬虫基础概念 网络爬虫,也被称作网络蜘蛛(Web Spider...

weixin_42509513的博客 2564

Python 2.7+Scrapy 1.4电商爬虫实战:京东淘宝天猫全量采集方案

电商数据采集是典型的Web爬虫应用场景,其核心在于应对动态渲染、反爬验证与多源结构适配三大挑战。原理上需融合HTTP协议控制、JavaScript执行、设备指纹混淆及iframe穿透等关键技术;技术价值体现在稳定支撑中小团队在有限资源下实现高可用、低误判的持续采集;典型应用场景包括竞品监控、价格追踪、类目分析与供应链数据基建;尤其适用于需兼顾兼容性、平台深度适配与全量覆盖能力的落地项目。本文聚焦Python 2.7与Scrapy 1.4这一被低估的稳定组合,深入解析其在京东滑块破解、淘宝webdriver绕

weixin_29722783的博客 344

网络爬虫技术

网络爬虫又称网络蜘蛛、网络机器人,它是一种按照一定的规则自动浏览、检索网页信息的程序或者脚本。网络爬虫能够自动请求网页,并将所需要的数据抓取下来。通过对抓取的数据进行处理,从而提取出有价值的信息。但要注意:爬虫是一把双刃剑关于爬虫的如何合法使用,应遵守《中华人民共和国网络安全法》

weixin_47000687的博客 2059

电商爬虫实战:Python 2.7 + Scrapy 1.4 稳定采集京东淘宝天猫

网络爬虫是获取公开网页数据的基础技术,其核心在于请求调度、HTML/JS解析、反爬对抗与数据清洗。随着主流电商平台持续演进反爬机制,传统静态解析已失效,而过度依赖Playwright等动态渲染方案又带来运维复杂度与性能损耗。本实践聚焦可控性优先的工程范式——基于Python 2.7与Scrapy 1.4构建轻量、可调试、高确定性的电商采集系统,深度适配京东AJAX分页、淘宝base64嵌套JS变量、天猫iframe多层跳转等典型场景。该方案不追求‘全站一键抓取’,而是通过模块化设计(调度中心、反爬中间件、J

weixin_33552698的博客 336

scrapy爬虫 爬取天猫进口零食网页

爬虫入门教程戳这里 出于某些原因,想调戏下天猫的反爬虫机制,于是就有了这篇记录 源码已传osgit ,感兴趣可以戳下 scrapyTmail 正文开始 分析目标(items) 解析路径(xpath) 目标为天猫超市的进口商品区 研究一下待抓取网页中, 需要爬的内容,如下图 我的目标是 商品...

chihuibang6081的博客 295

scrapy-playwright::performing_arts:适用于Scrapy的Playwright集成

Scrapy的Playwright集成 该项目提供了一个Scrapy下载处理程序,该程序使用执行请求。 它可用于处理需要JavaScript的页面。 该软件包不会干扰常规的Scrapy工作流程,例如请求计划或项目处理。 动机 在发布后,其中包括部分和实验性,Scrapy允许集成基于asyncio的项目,例如Playwright 。 要求 Python 3.7以上 Scrapy 2.0+ 剧作家0.7.0+ 安装 $ pip install scrapy-playwright 配置 通过替换默认的http和https下载处理程序: DOWNLOAD_HANDLERS = { "http" : "scrapy_playwright.handler.ScrapyPlaywrightDownloadHandler" , "https" : "scrapy_playwright

企业微信消息推送(一)接收消息服务器URL

企业微信限制过多,公司域名所有权检验不通过。采用接收消息服务器URL的方式。使用vscode,将UTF-8 BOM文本编码改为UTF-8。配置接收消息服务器URL。

Xiaoweidumpb 1万+

python爬取天猫_python scrapy 爬取天猫商品

感觉写的差不多了,可就是爬不出数据,想要用这个爬取天猫商品销量价格,求一下PYTHON大神,能让我程序爬成功的,1000分都给你itemsimportscrapyclassno1item(scrapy.Item):name=scra...感觉 写的差不多了,可就是爬不出数据,想要用这个爬取天猫 商品 销量 价格,求一下PYTHON大神,能让我程序爬成功的,1000分都给你itemsimport s...

weixin_39668890的博客 504

支付漏洞防护绕过的一种方式

放完包后就到了提交订单的地方,可以发现,金额确实小了很多,合理的搭配的话还可以更低,再次前进可以发现,金额确实是这么多,后面就不支付了,到此就结束了。也就是说数量可以为负数,但是金额不能为0或者0以下,有什么方法可以绕过这个限制吗,其实并不难,既然可以为负数,只是对金额不能为0或者负数做了限制。我们可以尝试拼接法,利用负数加上正数让他的值变得很低,但是又大于0就可以了,这里利用购物车的结算方法,随机加一些在购物车里。这里为了方便查看数据包,我这边商品的数量选择3,点击立即购买并抓包。

2301_80115097的博客 1528

php 爬虫 超市,scrapy爬虫 爬取天猫进口零食网页

出于某些原因,想调戏下天猫的反爬虫机制,于是就有了这篇记录源码已传osgit ,感兴趣可以戳下正文开始分析目标(items) 解析路径(xpath)目标为天猫超市的进口商品区研究一下待抓取网页中, 需要爬的内容,如下图 我的目标是 商品名、销量、价格,图当然也是可以爬的,不过本次不爬 新建爬虫【处理items,pipelines,settings,spider】首先新建一个爬虫,起个喜欢或者任性的...

weixin_31842821的博客 414

滑模控制算法——基本原理(附MATLAB程序)

选择一个滑模面和是设计参数。是滑模面函数,通常我们希望系统状态在的面上滑动。我们以一个简单的二阶系统作为示例,其状态空间方程为:是系统矩阵是输入矩阵是输出矩阵假设我们的系统如下:滑模控制算法的核心在于设计合适的滑模面和控制律,并分析系统在滑模面上的稳定性。通过上述公式和步骤,可以有效地设计滑模控制器,以处理具有非线性和不确定性的动态系统。总的来说,滑模控制算法因其鲁棒性和灵活性在处理复杂控制问题中表现出色,但在实际应用中需要精心设计以克服抖振现象和其他潜在问题。BuxuABDC。

qq_35623594的博客 2万+

[特殊字符] 从零构建携程/飞猪机票价格爬虫:Python异步抓取与反爬对抗实战

在出行决策、竞品分析、价格预测模型训练等场景中,稳定获取携程(Ctrip)和飞猪(Fliggy)的实时机票价格波动数据是刚需。然而,这两大平台均部署了业界顶尖的反爬体系——包括但不限于:动态请求签名(SignToken设备指纹采集(UACanvasWebGL接口参数加密(X-Sign_abtestcookie混淆)频率限制与 IP 封禁(滑动窗口 + 行为检测)目录前言:为什么需要自建机票价格爬虫?一、技术选型与项目架构1.1 核心技术栈1.2 系统架构图(文字描述)1.3 法律与道德声明。

2201_76125261的博客 337

Python网络爬虫从入门到实战!

在文章开始前打个小广告——分享一份Python学习大礼包(激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、自动化办公等学习教程)点击领取,100%免费!爬虫能做什么政治角逐2016年这场美国总统竞选被媒体称作“第一次数字化竞选”,希阿姨和川大大都组建了庞大的技术团队,将大量资金花在获取和使用投票者的信息上。民意调查结果,一直是总统大选时最倚重的数据来源。在长达半年的总统竞选活动中,会有许多组织或机构通过不同方式进行大量调查,并将结果汇总整理加工成民意调查数据。

m0_75067629的博客 3118

【华为OD技术面-手撕算法代码真题】- 最长公共前缀

🌟 强烈推荐:华为OD技术面试手撕算法代码真题 🌟大家好!今天我给大家推荐一份备受赞誉的华为OD技术面试手撕算法代码真题。所有题目均为华为od实际面试过程中出现的算法代码真题。

算法大师! 4883
上一篇: scrapy爬虫【1】→学习路上的坑和大家一起分享
下一篇: scrapy爬虫【3】→爬图片
帅东
博客等级 码龄11年 676粉丝 88原创
评论 9
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值