网络爬虫——淘宝网页面分析思路

2023-05-16

一、获取服装标题信息

先复制这个标题:“加肥加大码内搭打底衫T上衣服秋衣潮男装卫衣”

在这里插入图片描述
在源代码中找到(如下):注意不能只找一个!

"title":"春季宽松长袖t恤男士加肥加大码内搭打底衫T上衣服秋衣潮男装卫衣",
"raw_title":"2019秋季猫咪卡通印花长袖t恤男青少年","pic_url":"//g-search1.alicdn.com/img/bao/uploaded/i4/imgextra/i1/116602634/O1CN0129cvZE1VKPoCT1aIQ_!!0-saturn_solar.jpg","detail_url":"https://click.simba.taobao.com/cc_im?p\u003d%B7%FE%D7%B0\u0026s\u003d478535496\u0026k\u003d557\u0026e\u003dKVz5NyFMTIbdZqK8UYtDaMbQ1letbBl5rxM5oI1LIda9fZoBqdhZmAz3rh7kXlJdy9%2Bv%2BGDyvp3SrIzjUiHQP3ZLRHdOD0YdrrpUjLBk8JZGkXzexh%2FwcJwPoK76mE%2FECf0BbXKQxysA7NkzCaWPRxvlrYvknUJR%2FCWPB64wAxZCtf1VZk4M2RvrzEUeH8KAaTNQ0ihK1F6MKDU8NWIYt7u7YMaoGa9Oc%2BaJ6HvpxmlYQKdUA3tIG9yxB7fNP4sBrUmooXp%2BZcgQ6e9jE5VuNzwuHyuUep70r6av7%2Fr4InpF0F%2BnqwPTRfyGAcv1sPSN3zlVRn9QAQdDNE58v7Z%2BFvH2839KEaLTj%2FYalTUgjcU4syfdkgvXiarKOCHdM43WMksuoJ8fPcCVk7Cqy9YWTelRb84uAvjppa7%2FSJ4CKUV%2BtiVpGTFzYY5C7OwrQH4K6H%2Bt2C34aGKfgt5Q7RH9AIJ7etvf999WMMYsakmxRsxKiywNM7DVyAC5jYLEqaoqlJGJwT%2BKL3ZM%2Bv5uHKmzwayhFw5WAexFDnsBk57%2BXYk%3D","view_price"

我们再找一个(不要嫌我啰嗦,爬虫就是要这样严谨一些)
在复制这个标题:“款中山装青年中国风唐装古风古装夹克外套春季汉服”
在这里插入图片描述
在源代码中找到(如下):这下我们发现,源代码中有两段一样的东西

"title":"麒麟刺绣套装男款中山装青年中国风唐装古风古装夹克外套春季汉服",
"raw_title":"麒麟刺绣套装男款中山装青年中国风唐装古风古装夹克外套春季汉服","pic_url":"//g-search3.alicdn.com/img/bao/uploaded/i4/i1/2144120484/O1CN01lyDThL1FRiGir64iU_!!0-item_pic.jpg","detail_url":"//detail.tmall.com/item.htm?id\u003d600041600239\u0026ad_id\u003d\u0026am_id\u003d\u0026cm_id\u003d140105335569ed55e27b\u0026pm_id\u003d\u0026abbucket\u003d8"

title是上一个有的,下一个有的是raw_title:这时我们观察上一个是广告,不是产品信息,所以咱们想要标题信息要title和raw_title后面的都可以,这里不建议使用title,因为title不唯一,太普遍了,经过后续的分析的时候发现raw_title可以唯一代表标题,一个页面48条信息。

我们提取商品标题分析出正则表达式:

raw_title":"卫衣套装春季男士2019春装新款连帽运动服装休闲潮春秋款衣服外套",
//获取标题的正则表达式
title_s = 'raw_title":"(.*?)",'

二、获取服装购买人数信息

先复制这个购买人数:“71人付款”

在这里插入图片描述
在源代码中找到(如下图):

"view_sales":"71人付款",
"comment_count":"834",
"user_id":"2144120484","nick":"百变哥旗舰店","shopcard":{"levelClasses":[{"levelClass":"icon-supple-level-jinguan"}],"isTmall":true,"delivery":[471,-1,254],"description":[475,-1,215],"service":[470,-1,262],"encryptedUserId":"UvCH0MmHyvmQ4MNTT","sellerCredit":16,"totalRate":10000},"icon":[{"title":"尚天猫,就购了","dom_class":"icon-service-

我们提取商品购买人数这个很容易分析出正则表达式:

view_sales":"71人付款"
//获取标题的正则表达式
people_s = 'view_sales":"(.*?)",'

三、获取服装价格信息

先复制这个商品的价格:“136.00”

在这里插入图片描述
在源代码中查找

"view_price":"136.00",
"view_fee":"22.00",
"item_loc":"浙江 杭州","view_sales":"71人付款","comment_count":"834","user_id":"2144120484","nick":"百变哥旗舰店","shopcard":{"levelClasses":[{"levelClass":"icon-supple-level-jinguan"}],"isTmall":true,"delivery":[471,-1,254],"description":[475,-1,215],"service":[470,-1,262],"encryptedUserId":"UvCH0MmHyvmQ4MNTT","sellerCredit":16,"totalRate":10000},"icon

我发现这是我爬过最好分析的网站23333
我们提取商品价格这个也很容易分析出正则表达式:

view_price":"136.00"
//获取标题的正则表达式
price_s = 'view_price":"(.*?)",'

这下我们已经准备好了所有的分析工作,下一步开始编写爬虫

自动翻页爬取

下面我们需要粘贴下面的一些网页网址,根据经验p是我们的关键词搜集,他只是将“服装”换成了二进制吧?大家也可以把p=后面改成“服装”,也可以正常打开网页。根据观察链接最后的s=?是翻页内容,但是我们需要找到他的规律,一般看第一页,我们看第二页是s=44,第三页是s=88,是44×2=88,第四页是132,是44×3=132;使用我们总结出规律:页码=0+44×(页数-1)

淘宝网“服装”关键词第一页

https://s.taobao.com/search?q=%E6%9C%8D%E8%A3%85&imgfile=&js=1&stats_click=search_radio_all%3A1&initiative_id=staobaoz_20200218&ie=utf8&bcoffset=6&ntoffset=6&p4ppushleft=1%2C48&s=0

淘宝网“服装”关键词第二页

https://s.taobao.com/search?q=%E6%9C%8D%E8%A3%85&imgfile=&js=1&stats_click=search_radio_all%3A1&initiative_id=staobaoz_20200218&ie=utf8&bcoffset=3&ntoffset=3&p4ppushleft=1%2C48&s=44

淘宝网“服装”关键词第三页

https://s.taobao.com/search?q=%E6%9C%8D%E8%A3%85&imgfile=&js=1&stats_click=search_radio_all%3A1&initiative_id=staobaoz_20200218&ie=utf8&bcoffset=0&ntoffset=6&p4ppushleft=1%2C48&s=88

淘宝网“服装”关键词第四页

https://s.taobao.com/search?q=%E6%9C%8D%E8%A3%85&imgfile=&js=1&stats_click=search_radio_all%3A1&initiative_id=staobaoz_20200218&ie=utf8&bcoffset=-3&ntoffset=-3&p4ppushleft=1%2C48&s=132

所以我们总结出翻页功能的代码应该这样写

#页码值=0+44×(页数-1)0可以省略
for i in range(0,13):
    #从第一页便利到第十三页
    url = "https://s.taobao.com/search?q=%E6%9C%8D%E8%A3%85&imgfile=&js=1&stats_click=search_radio_all%" \
          "3A1&initiative_id=staobaoz_20200218&ie=utf8&bcoffset=6&ntoffset=6&p4ppushleft=" \
          "1%2C48&s="+str( 44 * ( i - 1 ) )

自动登录淘宝

淘宝有一个这样的设置,就是复制地址如果浏览器没有打开过淘宝直接跳转搜索页面现在会跳到登录页,拿到的都是登录页的页面数据,所以我们就查不到页面内的数据。

所以我们要设置自动登录淘宝,但是这个过程比较麻烦的,我们会在下个博客详细的介绍给大家!

虽然这个项目没有完全做完,但是其中的思想是通用的,大家以后爬取其他页面的时候也这样做就可以了,大家想学习完整项目的话可以看这几个博客,讲的非常详细,没任何毛病。

一、网络爬虫——爬取网站所有Python书籍到数据库
二、Java、Python哪家强?十万条应聘数据告诉你(含源代码)

结尾送上1800G编程资源,希望大家喜欢,谢谢支持!

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

网络爬虫——淘宝网页面分析思路 的相关文章

  • usb/uart转网口模块选型设计 小结

    选型原则 通讯速率尽量可能快 xff0c 工作温度必须是工业级的 xff0c 成本尽量可能低 xff1b 保证用户可操作空间较大 1usb转网口 AX88772BLI xff0c ZLAN1003 xff0c IP101GRI xff08
  • Git bash基础操作指令 小结

    1 常用git指令 git的安装配置 xff08 只有初次使用需要配置 xff09 用户名和邮件 git config global user name 34 noxue 34 git config global user email ad
  • linux-ARM开发板--嵌入式开发平台-选型

    最近有一个项目以前一直在用工控机实现 xff0c 现在需要优化功能 缩减成本 xff0c 故有寻找linux ARM开发板的需求 xff1b 后期有很大可能还会自己会画PCB板 内核裁剪等设计的需求 xff1b 1 根据需求 xff0c 限
  • linux 线程与进程 -2-多线程应用编程

    多线程的管理 多线程的互斥锁和条件变量的使用 xff01 什么是进程 进程 xff08 process xff09 是一个已经开始执行但还没终止的程序实例 Linux系统下使用ps 命令可以查看到当前正在执行的进程 每个进程包含有进程运行环
  • 基于ARM开发板或linux工控机的远程操作的小结

    需求 xff1a xff08 1 xff09 黑龙江现场A处有一个一直在执行任务的工控机 xff08 或ARM板 xff09 xff0c 该板子处在一个局域网192 xxx 2 1网段 xff0c 局域网可以联网 xff1b xff08 2
  • linux-Ubuntu server输出.csv文件方法 小结

    导语 xff1a 在ARM上或在其他芯片上做开发 xff0c 有时候会有这样的需求 xff0c 将你工控机 开发板或者你的设备采集出来的数据做成一个exc列表 xff1b 最简单的方式就是用数据直接输出为 txt文件 xff0c 但是这样并
  • arm板/工控机 连接外网 小结

    arm板外网连接的总结 1 判断自己的开发板或者虚拟机是否连接外网的方式非常简单 直接ping外网的一个ip即可 xff0c 比如ping百度 2 如果arm开发板ping外网不同有几个思路去修复 xff08 1 xff09 先检查你的外网
  • Cannot access androidx.lifecycle.HasDefaultViewModelProviderFactory 警告

    项目androidx中 报警告 Cannot access androidx lifecycle HasDefaultViewModelProviderFactory 但是不影响运行 xff0c 解决方法 xff1a ViewModel a
  • 一些简单的shell脚本实例

    自己写了一下小的shell实例 xff0c 虽然很小 xff0c 但所有的大的程序都是由小的模块堆积起来的 xff0c 程序员一定要懂得一种脚本的书写 xff0c 而我 xff0c 只会在linux下工作 xff0c 所以就只能写linux
  • 房子装修工程师CSS(七): 伪元素 ::before 和 ::after的用法介绍

    一 W3C的解释用一句话概括 xff1a 单冒号 用于CSS3伪类 xff0c 双冒号 用于CSS3伪元素 单冒号写法兼容性比较强 可支持解析的浏览器较多 双冒号的写法只支持较新的主流浏览器 二 基础理论 before和 after 是用来
  • SSM框架整合时,无法正确连接数据库

    SSM框架整合时 xff0c 无法正确连接数据库 报错如下所示 xff1a 报错信息 xff1a Caused by java sql SQLException Access denied for user Miomiaomiao 64 l
  • 房子装修工程师CSS(八)伪类选择器

    一 伪类选择器 xff08 一 xff09 Pseudo Classes Selectors 伪类选择器 E not s E root E target E first child E last child E only child E n
  • 房子装修工程师CSS(九)伪类选择器

    xff08 九 xff09 E first of type 意思是 xff0c 在父元素下面寻找 第一个所匹配的子元素 下面的ul 和li xff0c 在ul 里面找到第一个li xff08 十 xff09 E last of type 在
  • 国际化时配置时配置struts.custom.i18n.resources常量三种方法:

    假设要定义配置一个 basename为globalMessages的strut custom i18n resources常量 1 在属性文件struts properties中定义 xff1a 在属性文件中定义basejname stru
  • java中return用法总结

    Java中return用于方法 xff0c 两个作用 xff1a xff08 1 xff09 返回方法指定类型的值 xff08 这个值总是确定的 xff09 xff0c 也可以是对象 xff08 2 xff09 方法的结束 两种形式 xff
  • AngularJS:实现动态添加输入控件功能

    AngularJS xff1a 实现动态添加输入控件功能 功能要求如下 xff1a 1 点击加号可以增加输入框 2 点击减号可以减少输入框 3 当输入框只有一个的时候 xff0c 不能再减少输入框 效果图如下 xff1a 只有一个输入框 有
  • angularjs数组基本操作

    1 ng click ng model ng bind ng class ng hide ng app 2 placeholder 3 中加入代码 xff1a true false 使用逗号隔开 xff0c 可以控制包括样式 xff0c 显
  • Jasmine 常用语法

    jasmine测试脚本 function jasmine基本语法介绍 xff1a describe string function xff1a 可以理解为是一个测试集或者测试包 xff08 官方称之为suite xff09 xff0c 主要
  • linux下隐藏文件 和 显示隐藏文件命令

    xff08 1 xff09 linux下隐藏文件和文件夹 xff08 目录 xff09 需要用到 mv 命令 其实超简单的 例子 xff1a 将a目录隐藏 命令 xff1a mv a a xff08 2 xff09 linux下显示隐藏文件
  • SSH下know_hosts的作用(转)

    原文地址 xff1a http blog csdn net yasaken article details 7348441 在平时工作中 xff0c 有时候需要SSH登陆到别的Linux主机上去 xff0c 但有时候SSH登陆会被禁止 xf

随机推荐