【Python】爬虫入门级实战讲解:爬取商城的商品名称及价格
需求:
1.对于某某商城,爬取其商品名称和商品价格
2.要求:用户动态输入爬取特定商品;
3.爬取结果导入excel表格,并写入数据库中;
思路:
1.查看搜索商品的接口信息,包括接口名称,接口方法(get/post),接口请求参数,及请求头
2.爬取出来的信息,利用正则表达进行抽取有用信息(商品名称,价格)
3.对抽取出来的信息进行拼接及优化展示
4.总共只需三个函数即可,一个利用requests调用搜索接口,获得返回信息,第二个利用re模块去正则表达规则去提取商品名称和价格,第三个优化展示(美观&直观效果)
步骤:
一。第一步:打开F12查看接口信息,取得接口名称,接口调用方法(post),请求头及参数
函数如下:
其中:(1). headers是请求头,字段Authorization是接口授权,是必须的
(2). body是请求参数,字段keywords就是客户输入的搜索词,这边使用input函数目的为了让客户自己输入想搜索的商品
(3). requests.post()即使用post方法,其中html是接口地址,headers是请求头,json是请求参数
二 。第二步,对于返回的信息r.text。我们需要进行提取关键信息:商品名称和商品价格
r.text显示如下:
函数如下:
其中:(1). \"goodsInfoName\":\".*?\"和\"salePrice\":\d+\.?\d?\d?,是正则表达规则,把商品价格和商品名称匹配出来
(2)name里面储存的都是商品名称,price里面存储的都是商品价格,这时我们需要进一步处理,把商品名称和商品价格进行匹配在一起,显示出来类似这样[["salePrice":200.00],["salePrice":199.99]],所以使用split把字段名称salePrice去掉,去后半段的价格。显示为name_iter=[200.00,199.99],price_iter=["商品名称1","商品名称2"]。
(3)最后一行,则是为了把商品名称和商品价格进行组合,显示为targetData=["商品名称1":200.00,"商品名称2":199.99],这就完美了
(4)eval()函数,则是为了去掉一层"",加和不加eval()函数的差别见下图:价格是字符串类型,利用eval()变为整型
三。第三步,把数据展示的更美观
其中:\t是制表符,count起到序号的作用
最终展示结果:
打开爬虫结果.xls,显示如下:
下面附上完整代码:
v1.1
版本更新优化:第三列单元格宽度拉长,且居中显示
显示如下:
V1.2 加入需求:爬出的结果写入数据库,代码如下:
效果如下:
【Python】爬虫入门级实战讲解:爬取商城的商品名称及价格相关推荐
- python爬虫入门实战!爬取博客文章标题和链接!
最近有小伙伴和我留言想学python爬虫,那么就搞起来吧. 准备阶段 爬虫有什么用呢?举个最简单的小例子,你需要<战狼2>的所有豆瓣影评.最先想的做法可能是打开浏览器,进入该网站,找到评论 ...
- python爬虫应用实战-如何爬取好看的小姐姐照片?
线程锁 Threading模块为我们提供了一个类,Threading.Lock锁.我们创建该类的对象,在线程函数执行之前,"抢占"该锁,执行完成之后,"释放"该 ...
- python爬虫应用实战-如何爬取表情进行斗图?丰富你的表情库
面向对象 python从设计开始就是一门面向对象的的语言,因此使用python创建一个类与对象是非常简单的一件事情. 如果你以前没有接触过面向对象的编程语言,那么你需要了解一些面向对象语言的一些基本特 ...
- python爬取图片教程-推荐|Python 爬虫系列教程一爬取批量百度图片
Python 爬虫系列教程一爬取批量百度图片https://blog.csdn.net/qq_40774175/article/details/81273198# -*- coding: utf-8 ...
- python爬虫对炒股有没有用_使用python爬虫实现网络股票信息爬取的demo
实例如下所示: import requests from bs4 import BeautifulSoup import traceback import re def getHTMLText(url ...
- python爬虫 豆瓣影评的爬取cookies实现自动登录账号
python爬虫 豆瓣影评的爬取cookies实现自动登录账号 频繁的登录网页会让豆瓣锁定你的账号-- 网页请求 使用cookies来实现的自动登录账号,这里的cookies因为涉及到账号我屏蔽了,具 ...
- Python 爬虫 中国行政区划信息爬取 (初学者)
Python 爬虫 中国行政区划信息爬取 (初学者) 背景 环境准备 代码片段 1.定义地址信息对象 2.地址解析对象 2.1 获取web信息 2.2 web信息解析 2.3 区划信息提取 2.4 省 ...
- python爬虫学习 之 定向爬取 淘宝商品价格
python爬虫学习 之 定向爬取 淘宝商品价格 import requests import redef getHTMLText(url):try:r = requests.get(url, tim ...
- python爬虫股票市盈率_使用python爬虫实现网络股票信息爬取的demo
实例如下所示: import requests from bs4 import BeautifulSoup import traceback import re def getHTMLText(url ...
最新文章
- fusioncompute中cpu可以设置的qos参数有哪些?_kubernetes 中 Qos 的设计与实现
- CC通信软件list
- 【BZOJ3518】点组计数 [欧拉函数]
- 方差分析中的“元”和“因素”是什么?
- 物资申请php,危废企业申请经营许可证需满足的条件及申请程序
- 如何防止在ListBox中添加很多数据出现不停的刷新?
- 计算机考试准考证无法下载
- vb调用c语言程序,用VB编写程序,求S=A!+B!+C!,阶乘的计算分别用Sub过程和Function过程两种方法来实现...
- bch纠错码 码长8_浅析BCH码的编码方法.docx
- Ubuntu LogViewer调试工具
- android rat工具,Android远程控制工具——AndroRat
- Golang对中文汉字进行拼音排序
- [ffmpeg] 视频码率压缩
- 针对唯一化实例对话框程序,及其命令行操作方法
- 肿么用photoshop将位图转化成矢量图
- Error response from daemon: conflict: unable to delete acdcfe83bcc5 (must be forced) - image is bein
- 响应式 - 使视频自适应于屏幕宽度
- 一行能装逼的JavaScript代码的延伸
- 分页插件PageHelper失效
- DBcontext应用于已存在数据库