本文爬取淘宝女装短裙商品,并将商品信息存入mysql中

分析思路

1.页面分析
在淘宝首页搜索“短裙”,进入商品列表页面:

分析页面源代码:

通过分析源代码,可发现商品相关的几个关键信息:商品图片地址、商品名、价格、邮费、付款人数、店铺名、店铺所在地、评论数等,通过正则表达式可匹配出来:

#商品图片
img_pat='"pic_url":"(//.*?)"'
#商品名
name_pat='"raw_title":"(.*?)"'
#店铺名
nick_pat='"nick":"(.*?)"'
#价格
price_pat='"view_price":"(.*?)"'
#邮费
fee_pat='"view_fee":"(.*?)"'
#付款人数
sales_pat='"view_sales":"(.*?)"'
#评论数
comment_pat='"comment_count":"(.*?)"'
#店铺所在地
city_pat='"item_loc":"(.*?)"'
#商品链接
detail_url_pat='detail_url":"(.*?)"'

2.分析商品列表页面url

第2页:
https://s.taobao.com/search?q=%E7%9F%AD%E8%A3%99&imgfile=&commend=all&ssid=s5-e&search_type=item&sourceId=tb.index&spm=a21bo.50862.201856-taobao-item.1&ie=utf8&initiative_id=tbindexz_20170706&bcoffset=4&ntoffset=4&p4ppushleft=1%2C48&s=44

第3页:
https://s.taobao.com/search?q=%E7%9F%AD%E8%A3%99&imgfile=&commend=all&ssid=s5-e&search_type=item&sourceId=tb.index&spm=a21bo.50862.201856-taobao-item.1&ie=utf8&initiative_id=tbindexz_20170706&bcoffset=4&ntoffset=4&p4ppushleft=1%2C48&s=88

第4页:
https://s.taobao.com/search?q=%E7%9F%AD%E8%A3%99&imgfile=&commend=all&ssid=s5-e&search_type=item&sourceId=tb.index&spm=a21bo.50862.201856-taobao-item.1&ie=utf8&initiative_id=tbindexz_20170706&bcoffset=4&ntoffset=4&p4ppushleft=1%2C48&s=132

不同页url中最后一位参数s为44的倍数,通过测试可发现参数&initiative_id=tbindexz_20170706可以去掉,因此可得到第N页的页面地址为:

url="https://s.taobao.com/search?q="+keywords+"&imgfile=&commend=all&ssid=s5-e&search_type=item&sourceId=tb.index&spm=a21bo.50862.201856-taobao-item.1&ie=utf8&bcoffset=4&ntoffset=4&p4ppushleft=1%2C48&s="+str((N-1)*44)

完整代码

#爬取taobao商品
import urllib.request
import pymysql
import re#打开网页,获取网页内容
def url_open(url):headers=("user-agent","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.22 Safari/537.36 SE 2.X MetaSr 1.0")opener=urllib.request.build_opener()opener.addheaders=[headers]urllib.request.install_opener(opener)data=urllib.request.urlopen(url).read().decode("utf-8","ignore")return data#将数据存入mysql中
def data_Import(sql):conn=pymysql.connect(host='127.0.0.1',user='test',password='123456',db='python',charset='utf8')conn.query(sql)conn.commit()conn.close()if __name__=='__main__':try:#定义要查询的商品关键词keywd="短裙"keywords=urllib.request.quote(keywd)#定义要爬取的页数num=100for i in range(num):url="https://s.taobao.com/search?q="+keywords+"&imgfile=&commend=all&ssid=s5-e&search_type=item&sourceId=tb.index&spm=a21bo.50862.201856-taobao-item.1&ie=utf8&bcoffset=4&ntoffset=4&p4ppushleft=1%2C48&s="+str(i*44)data=url_open(url)#定义各个字段正则匹配规则img_pat='"pic_url":"(//.*?)"'name_pat='"raw_title":"(.*?)"'nick_pat='"nick":"(.*?)"'price_pat='"view_price":"(.*?)"'fee_pat='"view_fee":"(.*?)"'sales_pat='"view_sales":"(.*?)"'comment_pat='"comment_count":"(.*?)"'city_pat='"item_loc":"(.*?)"'detail_url_pat='detail_url":"(.*?)"'#查找满足匹配规则的内容,并存在列表中imgL=re.compile(img_pat).findall(data)nameL=re.compile(name_pat).findall(data)nickL=re.compile(nick_pat).findall(data)priceL=re.compile(price_pat).findall(data)feeL=re.compile(fee_pat).findall(data)salesL=re.compile(sales_pat).findall(data)commentL=re.compile(comment_pat).findall(data)cityL=re.compile(city_pat).findall(data)detail_urlL=re.compile(detail_url_pat).findall(data)for j in range(len(imgL)):img="http:"+imgL[j]#商品图片链接name=nameL[j]#商品名称nick=nickL[j]#淘宝店铺名称price=priceL[j]#商品价格fee=feeL[j]#运费sales=salesL[j]#商品付款人数detail_url=detail_urlL[j]#商品链接comment=commentL[j]#商品评论数,会存在为空值的情况if(comment==""):comment=0city=cityL[j]#店铺所在城市print('正在爬取第'+str(i)+"页,第"+str(j)+"个商品信息...")sql="insert into taobao(name,price,fee,sales,comment,city,nick,img,detail_url) values('%s','%s','%s','%s','%s','%s','%s','%s','%s')" %(name,price,fee,sales,comment,city,nick,img,detail_url)data_Import(sql)print("爬取完成,且数据已存入数据库")except Exception as e:print(str(e))print("任务完成")

爬取过程

爬取结果

用Python爬取淘宝商品相关推荐

  1. python爬取淘宝商品图片

    python爬取淘宝商品的图片 话不多说,直接上代码: from selenium import webdriver from selenium.webdriver.common import key ...

  2. python爬取淘宝商品做数据挖掘

    作业要求:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/3159 项目内容: 本项目选择 淘宝商品类目:零食 数量:一共100页,44 ...

  3. Python爬取淘宝商品信息保存到Excel

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 python免费学习资 ...

  4. python电商数据挖掘_利用Python爬取淘宝商品并数据挖掘与分析实战!此乃大型项目!...

    项目内容 本案例选择>> 商品类目:沙发: 数量:共100页 4400个商品: 筛选条件:天猫.销量从高到低.价格500元以上. 项目目的 1. 对商品标题进行文本分析 词云可视化 2. ...

  5. 使用python爬取淘宝商品信息

    使用python爬虫爬取淘宝商品信息 使用的模块主要有 selenium ,time , re, from selenium import webdriver import time import c ...

  6. python爬取淘宝商品信息_python爬取淘宝商品信息并加入购物车

    先说一下最终要达到的效果:谷歌浏览器登陆淘宝后,运行python项目,将任意任意淘宝商品的链接传入,并手动选择商品属性,输出其价格与剩余库存,然后选择购买数,自动加入购物车. 在开始爬取淘宝链接之前, ...

  7. python爬取淘宝商品信息并加入购物车

    先说一下最终要达到的效果:谷歌浏览器登陆淘宝后,运行python项目,将任意任意淘宝商品的链接传入,并手动选择商品属性,输出其价格与剩余库存,然后选择购买数,自动加入购物车. 在开始爬取淘宝链接之前, ...

  8. Python爬取淘宝商品详情页数据

      在讲爬取淘宝详情页数据之前,先来介绍一款 Chrome 插件:Toggle JavaScript (它可以选择让网页是否显示 js 动态加载的内容),如下图所示: 当这个插件处于关闭状态时,待爬取 ...

  9. Python爬取淘宝商品的销量

    运行程序,输入想要爬取的商品关键词,在代码中的'###'可以进一步约束商品的属性,比如某某作者的书籍,可以在###处输入作者名字,以及时期等等.最后可以得到所要商品的总销量 本人博客:专属博客,欢迎浏 ...

最新文章

  1. 自学笔记——1.Pyhton保留关键字
  2. Altium Designer学习---如何进行SI仿真
  3. 【每周CV论文】初学深度学习图像对比度增强应该要读的文章
  4. C语言中的一维数组和二维数组
  5. Android Studio修改编译JDK
  6. android requestmtu,android - 如何设置/获取/请求从Android到iOS或反之亦然BLE的MTU? - 堆栈内存溢出...
  7. 打印机乱码不停打印_关于东芝复合机连接打印,图文教你如何轻松连接至电脑...
  8. vue引用jquery
  9. (附源码)app订餐APP 毕业设计 190711
  10. p750服务器配置信息,P750的一些配置
  11. 学生机房虚拟化(十二)搭建Clonezilla SE
  12. 接口动态签名,防止被人恶意调用
  13. 携程开源的分布式apollo技术,不吃透都对不起自己
  14. 沉舟侧畔千帆竞,百舸争流稳为先——正雅齿科
  15. 在arm-linux上用gdb调试程序,出现“Program received signal SIGPIPE, Broken pipe”
  16. 我的2020年记-大浪潮下的小小打工人
  17. win7 pptp服务器未响应,win7系统ppTp Vpn未连接的具体方案
  18. .NET CORE认证1.认识登陆和授权
  19. Ubuntu20.04设置开机自启脚本、开机自启命令(ubuntu自启,ubuntu开机自启)rc(run command)(systemd)(/etc/rc.local)(开机启动原理)开机自启动
  20. 字典(骚气的加上二叉排序树)

热门文章

  1. B站愚人节彩蛋,UP主 “集体变绿”
  2. 字符串写入到json文件
  3. docker-compose 怎么只 recreate 指定的 service
  4. Shader入门实战,拳皇被击闪白特效!
  5. 神坑-md5加密空字符串不为空
  6. k8s镜像一直failed pull images
  7. SQL Server 事务日志已满的解决方案
  8. lumia 830 android,微软Lumia 830成功刷入Android 5.0系统
  9. 520七夕情人节告白网页代码—浪漫3D相册
  10. PX4模块设计之二十六:BatteryStatus模块