python3爬取淘宝信息代码分析


Posted in Python onFebruary 10, 2018
# encoding:utf-8
import re # 使用正则 匹配想要的数据
import requests # 使用requests得到网页源码

这个函数是用来得到源码

# 得到主函数传入的链接
def getHtmlText(url):
  try: # 异常处理
    # 得到你传入的URL链接 设置超时时间3秒
    r = requests.get(url, timeout=3)
    # 判断它的http状态码
    r.raise_for_status()
    # 设置它的编码 encoding是设置它的头部编码 apparent_encoding是从返回网页中分析它的编码格式
    r.encoding = r.apparent_encoding
    # 返回源代码
    return r.text
  except: # 发生异常返回空
    return ''

这个函数使用来解析你的源代码 获取你想要的数据

# 解析你的网页信息
def parsePage(ilt, html):
  # 异常处理
  try:
    # 找到书包的价格
    plt = re.findall(r'\"view_price\"\:\"[\d\.]*\"', html)
    # 找到书包的名称
    tlt = re.findall(r'\"raw_title\"\:\".*?\"', html)
    # 找到书包的地址
    add = re.findall(r'\"item_loc\"\:\".*?\"', html)
    # 找到书包的图片链接
    img = re.findall(r'\"pic_url\"\:\".*?\"', html)
    # 得到这个内容放入主函数中的列表
    for i in range(len(plt)):
      price = eval(plt[i].split(':')[1])
      title = eval(tlt[i].split(':')[1])
      address = eval(add[i].split(':')[1])
      imgs = eval(img[i].split(':')[1])  
      ilt.append([price, title, address, imgs])
  except: # 放生异常输出空字符串
    print('')
# 得到主函数传入的列表
def printGoodsList(ilt):
  # 每个列之间用tplt的放是隔开
  tplt = '{:4}\t{:8}\t{:16}\t{:32}'
  # 这个是整个的标题
  print(tplt.format('序号', '价格', '商品名称','地址', '图片地址'))
  count = 0 # 统计有多少的序号
  for g in ilt:
    count = count + 1 # 循环一遍加一
    print(tplt.format(count, g[0], g[1], g[2]), g[3]) # 输出你得到的数据
# 定义主函数 main
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) # 得到url传入到你要得到url的函数中
      parsePage(infoList, html) # 得到你的html源码 放入解析的网页中
    except: # 发生异常跳过
      continue
  # 把列表中的数据放入解析的函数中
  printGoodsList(infoList)
# 代码调试片段
if __name__ == '__main__':
  main() # 调用主函数

以上就是经过小编测试过的用python3爬取淘宝信息的代码,大家测试后如果还有任何不明白的地方可以在下方的留言区讨论。

Python 相关文章推荐
Python中shape计算矩阵的方法示例
Apr 21 Python
python 接口_从协议到抽象基类详解
Aug 24 Python
Python3计算三角形的面积代码
Dec 18 Python
python+selenium实现登录账户后自动点击的示例
Dec 22 Python
详解用Python实现自动化监控远程服务器
May 18 Python
基于python的selenium两种文件上传操作实现详解
Sep 19 Python
Python django搭建layui提交表单,表格,图标的实例
Nov 18 Python
Tensorflow获取张量Tensor的具体维数实例
Jan 19 Python
Tensorflow限制CPU个数实例
Feb 06 Python
Python调用REST API接口的几种方式汇总
Oct 19 Python
Python抖音快手代码舞(字符舞)的实现方法
Feb 07 Python
python关于集合的知识案例详解
May 30 Python
Python中property属性实例解析
Feb 10 #Python
Java编程迭代地删除文件夹及其下的所有文件实例
Feb 10 #Python
Python中协程用法代码详解
Feb 10 #Python
Python实现简单生成验证码功能【基于random模块】
Feb 10 #Python
Django中Forms的使用代码解析
Feb 10 #Python
Python中列表与元组的乘法操作示例
Feb 10 #Python
Python程序运行原理图文解析
Feb 10 #Python
You might like
让你同时上传 1000 个文件 (一)
2006/10/09 PHP
解析zend studio中直接导入svn中的项目的方法步骤
2013/06/21 PHP
解析thinkphp中的M()与D()方法的区别
2013/06/22 PHP
Laravel源码解析之路由的使用和示例详解
2018/09/27 PHP
url地址自动加#号问题说明
2010/08/21 Javascript
javascript获取web应用根目录的方法
2014/02/12 Javascript
判断日期是否能跨月查询的js代码
2014/07/25 Javascript
JS实现新浪微博效果带遮罩层的弹出框代码
2015/10/12 Javascript
详解Document.Cookie
2015/12/25 Javascript
纯JS代码实现一键分享功能
2016/04/20 Javascript
基于JS实现无缝滚动思路及代码分享
2016/06/07 Javascript
angular双向绑定模拟探索
2016/12/26 Javascript
bootstrap suggest下拉框使用详解
2017/04/10 Javascript
vuejs如何配置less
2017/04/25 Javascript
在vue-cli搭建的项目中增加后台mock接口的方法
2018/04/26 Javascript
jQuery无冲突模式详解
2019/01/17 jQuery
JS实现数组深拷贝的方法分析
2019/03/06 Javascript
JS扁平化输出数组的2种方法解析
2019/09/17 Javascript
Python实现小数转化为百分数的格式化输出方法示例
2017/09/20 Python
Python中进程和线程的区别详解
2017/10/29 Python
Python+selenium 获取一组元素属性值的实例
2018/06/22 Python
python处理DICOM并计算三维模型体积
2019/02/26 Python
python实现点击按钮修改数据的方法
2019/07/17 Python
浅谈Python 敏感词过滤的实现
2019/08/15 Python
Ubuntu18.04安装 PyCharm并使用 Anaconda 管理的Python环境
2020/04/08 Python
Python中三维坐标空间绘制的实现
2020/09/22 Python
中国宠物用品商城:E宠商城
2016/08/27 全球购物
全球最大的网上自行车商店:Chain Reaction Cycles
2016/12/02 全球购物
介绍一下Linux中的链接
2016/05/28 面试题
中学生学习生活的自我评价
2013/10/26 职场文书
最新大学生创业计划书写作攻略
2014/04/02 职场文书
自我推荐信范文
2014/05/09 职场文书
质量月口号
2014/06/20 职场文书
2014年团委工作总结
2014/11/13 职场文书
奠基仪式致辞
2015/07/30 职场文书
学校运动会感想
2015/08/10 职场文书