需求:

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】爬虫入门级实战讲解:爬取商城的商品名称及价格相关推荐

  1. python爬虫入门实战!爬取博客文章标题和链接!

    最近有小伙伴和我留言想学python爬虫,那么就搞起来吧. 准备阶段 爬虫有什么用呢?举个最简单的小例子,你需要<战狼2>的所有豆瓣影评.最先想的做法可能是打开浏览器,进入该网站,找到评论 ...

  2. python爬虫应用实战-如何爬取好看的小姐姐照片?

    线程锁 Threading模块为我们提供了一个类,Threading.Lock锁.我们创建该类的对象,在线程函数执行之前,"抢占"该锁,执行完成之后,"释放"该 ...

  3. python爬虫应用实战-如何爬取表情进行斗图?丰富你的表情库

    面向对象 python从设计开始就是一门面向对象的的语言,因此使用python创建一个类与对象是非常简单的一件事情. 如果你以前没有接触过面向对象的编程语言,那么你需要了解一些面向对象语言的一些基本特 ...

  4. python爬取图片教程-推荐|Python 爬虫系列教程一爬取批量百度图片

    Python 爬虫系列教程一爬取批量百度图片https://blog.csdn.net/qq_40774175/article/details/81273198# -*- coding: utf-8 ...

  5. python爬虫对炒股有没有用_使用python爬虫实现网络股票信息爬取的demo

    实例如下所示: import requests from bs4 import BeautifulSoup import traceback import re def getHTMLText(url ...

  6. python爬虫 豆瓣影评的爬取cookies实现自动登录账号

    python爬虫 豆瓣影评的爬取cookies实现自动登录账号 频繁的登录网页会让豆瓣锁定你的账号-- 网页请求 使用cookies来实现的自动登录账号,这里的cookies因为涉及到账号我屏蔽了,具 ...

  7. Python 爬虫 中国行政区划信息爬取 (初学者)

    Python 爬虫 中国行政区划信息爬取 (初学者) 背景 环境准备 代码片段 1.定义地址信息对象 2.地址解析对象 2.1 获取web信息 2.2 web信息解析 2.3 区划信息提取 2.4 省 ...

  8. python爬虫学习 之 定向爬取 淘宝商品价格

    python爬虫学习 之 定向爬取 淘宝商品价格 import requests import redef getHTMLText(url):try:r = requests.get(url, tim ...

  9. python爬虫股票市盈率_使用python爬虫实现网络股票信息爬取的demo

    实例如下所示: import requests from bs4 import BeautifulSoup import traceback import re def getHTMLText(url ...

最新文章

  1. fusioncompute中cpu可以设置的qos参数有哪些?_kubernetes 中 Qos 的设计与实现
  2. CC通信软件list
  3. 【BZOJ3518】点组计数 [欧拉函数]
  4. 方差分析中的“元”和“因素”是什么?
  5. 物资申请php,危废企业申请经营许可证需满足的条件及申请程序
  6. 如何防止在ListBox中添加很多数据出现不停的刷新?
  7. 计算机考试准考证无法下载
  8. vb调用c语言程序,用VB编写程序,求S=A!+B!+C!,阶乘的计算分别用Sub过程和Function过程两种方法来实现...
  9. bch纠错码 码长8_浅析BCH码的编码方法.docx
  10. Ubuntu LogViewer调试工具
  11. android rat工具,Android远程控制工具——AndroRat
  12. Golang对中文汉字进行拼音排序
  13. [ffmpeg] 视频码率压缩
  14. 针对唯一化实例对话框程序,及其命令行操作方法
  15. 肿么用photoshop将位图转化成矢量图
  16. Error response from daemon: conflict: unable to delete acdcfe83bcc5 (must be forced) - image is bein
  17. 响应式 - 使视频自适应于屏幕宽度
  18. 一行能装逼的JavaScript代码的延伸
  19. 分页插件PageHelper失效
  20. DBcontext应用于已存在数据库

热门文章

  1. 禅道开源版安装 - windows
  2. 干货分享 | 最新机器学习视频教程与数据集下载(持续更新......)
  3. 计算机发展简史及其关键技术年表
  4. 紫光公有云能后发先至吗?
  5. access突然需要登录_登录信息提示
  6. 健身的基本知识(1)
  7. Java—sql关于不同条件下合并结果
  8. 树莓派 3B+ HDMI 分辨率改不了 和一些坑坑洼洼
  9. PBOC规范研究之四、文件结构及访问
  10. sap--TCODE 之 SE93 将事务代码分配给程序(转)