爬虫9-淘宝商品信息定向爬虫
功能描述:
目标 获取淘宝搜索页面的信息,提取其中的商品信息名称和价格
理解 淘宝的搜索接口 翻页的处理
技术路线 requests re
当我们在淘宝上搜索书包时:
观察淘宝页面可知每一页共44个商品。
同时通过robots协议,发现不支持爬取。
程序的结构设计:
1、提交商品搜索需求,循环获取页面
2、对于每个页面,提取商品名称和价格信息
3、将信息输出在屏幕上
import requests import redef getHTMLText(url):print('')def parserPage(ilt,html):print('')def printGoodList(ilt):print('')def main():goods='书包'#搜索关键词depth=2#爬取深度start_url='https://s.taobao.com/search?q='+goods#初始链接infoList=[]#输出列表for i in range(depth):try:url=start_url+'&s='+str(44*i)html=getHTMLText(url)parserPage(infoList,html)except:continueprintGoodList(infoList) main()
代码编写习惯,先写框架,再填充丰满。
完整程序:
import requests import redef getHTMLText(url):try:r=requests.get(url,timeout=30)r.raise_for_status()r.encoding=r.apparent_encodingreturn r.textexcept:return ''def parserPage(ilt,html):try:plt=re.findall(r'\"view_price\"\:\"[\d\.]*"',html)tlt=re.findall(r'\"raw_title\"\:\".*?"',html)#加问号最小匹配for i in range(len(plt)):#eval函数去掉最外层的单引号 双引号price=eval(plt[i].split(':')[1])#只保留键值对中的数字部分title=eval(tlt[i].split(':')[1])ilt.append([price,title])except:print('')def printGoodList(ilt):#打印模板tplt='{:4}\t{:8}\t{:16}'print(tplt.format('序号','价格','商品名称'))count=0for q in ilt:count=count+1print(tplt.format(count,q[0],q[1]))def main():goods='书包'#搜索关键词depth=2#爬取深度start_url='https://s.taobao.com/search?q='+goods#初始链接infoList=[]#输出列表for i in range(depth):try:url=start_url+'&s='+str(44*i)html=getHTMLText(url)parserPage(infoList,html)except:continueprintGoodList(infoList) main()
输出;
转载于:https://www.cnblogs.com/rayshaw/p/8620920.html
爬虫9-淘宝商品信息定向爬虫相关推荐
- Python爬虫学习笔记(实例:淘宝商品信息定向爬虫)
淘宝商品信息定向爬虫先贴代码,后看解析: #淘宝商品信息定向爬虫 import requests import re#获得页面 def getHTMLText(url):try:#headers = ...
- 中国大学MOOC“淘宝商品信息定向爬虫”实例(2022版)
目标: 获取淘宝搜索页面的信息 提取其中的商品名称和价格 (一)程序的结构设计: 1:提交商品搜索请求,循环获取页面 2:对于每个页面,提取商品名称和价格信息 3:将信息输出到屏幕上 (二)代码实现: ...
- 淘宝商品信息定向爬虫
只用来学习请勿无限制使用爬虫 功能描述 目标:获取淘宝搜索页面的信息媒体去其中的商品名称和价格 程序的结构设计 步骤1:提交商品搜索请求,循环获取页面 步骤2:对每个页面,提取商品名称和价格信息 步骤 ...
- 淘宝商品信息定向爬虫实例
1.说明 获得淘宝的搜索接口 淘宝搜索页面不允许爬虫爬取 不要不加限制的爬取次网站 2.代码 import re import requestsdef getHTMLText(url):try:hea ...
- python爬淘宝的退货信息_Python——淘宝商品信息定向爬虫(requests+re)
有点崩,现在好像爬取不到任何东西了 目标:获取淘宝搜索页面的信息,提取其中的商品名称和价格 理解: 1.怎样去通过程序向淘宝提交请求,并获得提取的结果 2.怎样展示翻页的处理 首先我们要查看淘宝网的r ...
- Python爬虫 淘宝商品信息定向爬虫
代码: import requests import redef getHTMLText(url):try:r = requests.get(url, timeout=30)r.raise_for_s ...
- Python爬虫入门实例五之淘宝商品信息定向爬取(优化版)
文章目录 写在前面 一.爬取原页面 二.编程思路 1.功能描述 2.程序的结构设计 三.编程过程 1.解决翻页问题 2.编写getHTMLText()函数 3.编写parsePage()函数 (1). ...
- 网络爬虫实战||淘宝、股票定向爬虫
正则表达式的概念 regular expression regex RE 正则表达式是用来简洁表达一组字符串的表达式. 正则表达式的优势:简洁 正则表达式的语法 ...
- 网络定向爬虫实例---淘宝商品信息比价
目录 一.前言: 二.前期准备: 1.如何绕过防爬虫 2.一些常见的问题及处理方法: 三.爬虫实例结构分析: 1.主体结构: 2.分析: (1)爬虫可行性: (2)网站数据结构 四.爬虫实例展示: 1 ...
最新文章
- R语言glmnet拟合lasso回归模型实战:lasso回归模型的模型系数及可视化、lasso回归模型分类评估计算(混淆矩阵、accuracy、Deviance)
- 华为鸿蒙系统强势来袭,呼之欲出的华为神作——鸿蒙2.0 强势来袭
- 可扩展架构设计原则与面向对象设计原则脑图
- 无法找到“XXX.exe”的调试信息,或者调试信息不匹配。未使用调试信息生成二进制文件...
- linux 源码目录结构,分析Android 源代码编译前后的目录结构
- Linux入门学习(十)
- java传输对象_如何传输Java对象
- HTML--day02
- NUC1077 Humble Numbers【数学计算+打表+水题】
- 阿里巴巴 CTO 首次分享技术战略
- 运行Android项目时指定特定的AVD进行测试
- SpringMVC-day01
- PIN码-使用与解决办法
- pi六轴算法_圆周率π的计算历程及各种脑洞大开的估计方法
- Android开发————简易App设计(一)
- qW3xT.2,解决挖矿病毒。
- linux命令行的 是啥意思,linux是什么 Linux 命令行中的21是什么意思
- 【SpringBoot】SpringBoot @ConfigurationProperties 注解 用法与加载static静态属性
- JVM内存区域详解(Eden Space、Survivor Space、Old Gen、Code Cache和Perm Gen)
- 1.1什么是Arduino
热门文章
- mycat和MySQL版本兼容_mycat下mysql jdbc connector使用高版本报PacketTooBigException异常
- md5 java_java中MD5函数
- python怎么画小海龟_Python 海龟 turtle 画图实战任务(一):让小海龟留下Z字形的足迹以及绘制一个小于号<...
- python背景怎么自定义铃声_python爬取手机铃声
- 如何使用OpenCppCoverage检查单元测试的行覆盖率
- HALCON从像素坐标得到世界坐标
- 变量值为NAN的什么意思
- 不能混淆_生物易混淆知识点小汇总,是你不能混淆的知识哦丨高中
- 读取nas_NAS不够快?那就上SSD享受如火箭般的体验吧!
- cuda合并访问的要求_在 CUDA C / C ++ 中使用共享内存