商品比价定向爬虫

Copyright: Jingmin Wei, Pattern Recognition and Intelligent System, School of Artificial and Intelligence, Huazhong University of Science and Technology

网络爬虫专栏链接


文章目录

  • 商品比价定向爬虫
    • Reference
    • 功能描述
    • 定向爬虫可行性
    • 程序的结构设计
    • 程序编写
    • 源代码
    • 输出结果(部分)
    • 总结

本教程主要参考中国大学慕课的 Python 网络爬虫与信息提取,为个人学习笔记。

在学习过程中遇到了一些问题,都手动记录并且修改更正,保证所有的代码为有效。且结合其他的博客总结了一些常见问题的解决方式。

本教程不商用,仅为学习参考使用。如需转载,请联系本人。

Reference

爬虫 MOOC

数据分析 MOOC

廖雪峰老师的 Python 教程

功能描述

目标:获取某平台搜索页面的信息,提取其中的商品名称和价格。

理解:

  • 某平台的搜索接口

  • 翻页的处理

搜索接口和翻页的URL对应属性:

“书包”

定向爬虫可行性

我们是类人行为,本实例仅探讨技术实现,即是以人类行为访问网站。

请注意,不要不加限制地爬取。

程序的结构设计

步骤1:提交商品搜索请求,循环获取页面

步骤2:对于每个页面,提取商品名称和价格信息

步骤3:将信息输出到屏幕上

程序编写

价格:

名字:

只需将 view_priceraw_title 从众多信息中提取出来即可

源代码

# -*- coding:utf-8 -*-import requests
import re#需要修改requests.get()方法中控制访问的参数headers,解决网站的反爬问题
headers = {'cookie':'thw=cn; v=0; t=ab66dffdedcb481f77fd563809639584; cookie2=1f14e41c704ef58f8b66ff509d0d122e; _tb_token_=5e6bed8635536; cna=fGOnFZvieDECAXWIVi96eKju; unb=1864721683; sg=%E4%B8%8B3f; _l_g_=Ug%3D%3D; skt=83871ef3b7a49a0f; cookie1=BqeGegkL%2BLUif2jpoUcc6t6Ogy0RFtJuYXR4VHB7W0A%3D; csg=3f233d33; uc3=vt3=F8dBy3%2F50cpZbAursCI%3D&id2=UondEBnuqeCnfA%3D%3D&nk2=u%2F5wdRaOPk21wDx%2F&lg2=VFC%2FuZ9ayeYq2g%3D%3D; existShop=MTU2MjUyMzkyMw%3D%3D; tracknick=%5Cu4E36%5Cu541B%5Cu4E34%5Cu4E3F%5Cu5929%5Cu4E0B; lgc=%5Cu4E36%5Cu541B%5Cu4E34%5Cu4E3F%5Cu5929%5Cu4E0B; _cc_=WqG3DMC9EA%3D%3D; dnk=%5Cu4E36%5Cu541B%5Cu4E34%5Cu4E3F%5Cu5929%5Cu4E0B; _nk_=%5Cu4E36%5Cu541B%5Cu4E34%5Cu4E3F%5Cu5929%5Cu4E0B; cookie17=UondEBnuqeCnfA%3D%3D; tg=0; enc=2GbbFv3joWCJmxVZNFLPuxUUDA7QTpES2D5NF0D6T1EIvSUqKbx15CNrsn7nR9g%2Fz8gPUYbZEI95bhHG8M9pwA%3D%3D; hng=CN%7Czh-CN%7CCNY%7C156; mt=ci=32_1; alitrackid=www.taobao.com; lastalitrackid=www.taobao.com; swfstore=97213; x=e%3D1%26p%3D*%26s%3D0%26c%3D0%26f%3D0%26g%3D0%26t%3D0%26__ll%3D-1%26_ato%3D0; uc1=cookie16=UtASsssmPlP%2Ff1IHDsDaPRu%2BPw%3D%3D&cookie21=UIHiLt3xThH8t7YQouiW&cookie15=URm48syIIVrSKA%3D%3D&existShop=false&pas=0&cookie14=UoTaGqj%2FcX1yKw%3D%3D&tag=8&lng=zh_CN; JSESSIONID=A502D8EDDCE7B58F15F170380A767027; isg=BMnJJFqj8FrUHowu4yKyNXcd2PXjvpa98f4aQWs-RbDvsunEs2bNGLfj8BYE6lWA; l=cBTDZx2mqxnxDRr0BOCanurza77OSIRYYuPzaNbMi_5dd6T114_OkmrjfF96VjWdO2LB4G2npwJ9-etkZ1QoqpJRWkvP.; whl=-1%260%260%261562528831082','user-agent':'Mozilla/5.0'}def getHTMLText(url):try:r = requests.get(url, headers = headers, timeout = 30) #类比当时爬亚马逊的例子r.raise_for_status()r.encoding = r.apparent_encodingreturn r.textexcept:return ""def parsePage(ilt, html):try:plt = re.findall(r'\"view_price\"\:\"[\d\.]*\"', html)    #匹配价格tlt = re.findall(r'\"raw_title\"\:\".*?\"', html)    #匹配名称。*?表示最小匹配,只取得最后一个"的内容for i in range(len(plt)):price = eval(plt[i].split(':')[1])  #eval将最外层单双引号去掉,split以:作为分隔title = eval(tlt[i].split(':')[1])ilt.append([price, title])except:print("")def printGoodsList(ilt):tplt = "{:4}\t{:8}\t{:16}"print(tplt.format("序号", "价格", "商品名称"))count = 0for g in ilt:count = count + 1print(tplt.format(count, g[0], g[1]))def main():goods = '书包'depth = 3   #爬取深度start_url = 'https://s.taobao.com/search?q=' + goodsinfoList = []for i in range(depth):try:url = start_url + '&s=' + str(44*i)html = getHTMLText(url)parsePage(infoList, html)except:continueprintGoodsList(infoList)main()

输出结果(部分)

总结

采用 requests‐re 路线实现了某电商平台商品比价定向爬虫。

熟练掌握正则表达式在信息提取方面的应用。

网络爬虫:商品比价定向爬虫相关推荐

  1. 网络爬虫与信息提取--正则表达式---淘宝商品比价定向爬虫

    淘宝商品比价定向爬虫 本实例爬取时间2019.9.11 由于淘宝代码的不断完善更新,本爬取代码已经不能爬取出商品信息内容 原因:结果为空:打印html看到,需要登录淘宝 在网上找解决方法,可以复制co ...

  2. Python网络爬虫与信息提取笔记08-实例2:淘宝商品比价定向爬虫

    Python网络爬虫与信息提取笔记01-Requests库入门 Python网络爬虫与信息提取笔记02-网络爬虫之"盗亦有道" Python网络爬虫与信息提取笔记03-Reques ...

  3. python爬虫笔记(六)网络爬虫之实战(1)——淘宝商品比价定向爬虫(解决淘宝爬虫限制:使用cookies)...

    1.  淘宝商品信息定向爬虫 链接: https://www.taobao.com/ 2. 实例编写 2.1 整体框架 # -*- coding: utf-8 -*-import requests i ...

  4. 淘宝商品比价定向爬虫-Python网络爬虫与信息提取-北京理工大学嵩天教授

    功能描述 目标:获取淘宝搜索页面的信息,提取其中的商品名称和价格: 理解:淘宝的搜索接口.翻页的处理: 以课程中的搜索书包为例,对应的url如下: (1)起始页: (2)第二页:最后的s=44: (3 ...

  5. 优化淘宝商品比价定向爬虫--爬虫的浏览器伪装

    目录 一. 原代码问题 二.淘宝Robots协议 三.User-Agent 四.查找headers和cookie 五. 完整代码 一. 原代码问题 爬取不到任何内容处理 原因:由于淘宝的设置,虽然可以 ...

  6. 基于python的购物比价毕设_【Python爬虫】淘宝商品比价定向爬虫

    #CrowTaobaoPrice.py importrequestsimportredef getHTMLText(url):#获得网页信息 headers = {'User-Agent': 'Moz ...

  7. 爬虫(6)—— 淘宝商品比价定向爬虫

    该实例来源于中国大学慕课,视频教学链接如下: 传送门 目标: 获取淘宝搜索页面的额信息,提取其中的商品名称和价格 关键点: 淘宝的搜索接口 翻页的处理 从以上图片中可以看出,搜索接口的形式是: htt ...

  8. 网络爬虫实战||淘宝、股票定向爬虫

    正则表达式的概念 regular expression           regex          RE 正则表达式是用来简洁表达一组字符串的表达式. 正则表达式的优势:简洁 正则表达式的语法 ...

  9. python中国大学排名爬虫写明详细步骤-python网络爬虫入门实例:中国大学排名定向爬虫...

    中国大学排名定向爬虫的 设计和实现 一.环境安装: 1.选择一个适合自己的IDE(以下代码用Jupyter Notebook编写) 2.打开cmd,安装requests库和beautifulsoup4 ...

最新文章

  1. JavaScript库开发者们的规则
  2. Python科学计算之Pandas基础学习
  3. 云专网和云专线的区别_云专线的优势及应用场景
  4. jinja2的转义详解
  5. 2020年周记(2/50)
  6. Cognitive Security的异常检测技术
  7. 学棋五年的我输给了昇腾CANN
  8. 混淆矩阵-python
  9. c保留小数点后三位数没有则为0_C语言中……“计算结果保留三位小数。”怎么表示?...
  10. mysql_fetch_array 失败_mysql_fetch_array错误
  11. 类增量学习(Class-Incremental Learning)领域部分经典论文汇总
  12. 爬虫实例5 爬取58房源信息(xpath)
  13. 基于SNMP协议的电信网络监测系统的实现
  14. [Bullet3]常见物体和初始化
  15. L1-011. A-B
  16. 深度点击率预估模型的One-Epoch过拟合现象剖析
  17. 汇编语言小写字母转大写字母
  18. 天津大学仁爱学院计算机科学与技术学费,天津大学仁爱学院计算机科学与技术专业2016年在天津理科高考录取最低分数线...
  19. 免费在线pdf转换成word转换器
  20. Vue——如何获取动态图片地址

热门文章

  1. java日期 13,如何将此格式的日期(Tue Jul 13 00:00:00 CEST 2010)转换为Java日期(该字符串来自露天属性)...
  2. 【C++】什么是对象?什么是类?
  3. 时间触发嵌入式系统设计模式 读书笔记
  4. 共享经济:团队共享VS个体共享
  5. 第一章:搭建实验环境_eve-ng模拟器
  6. 看了DOS中断后我内牛满面
  7. 第四次作业 ——吴靖瑜
  8. 2020-10-14
  9. 微信定向流量_我和小伙伴都玩微信定向流量了
  10. java中mdc是什么_MDC 什么的缩写