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中精确输出JSON浮点数的方法
Apr 18 Python
python在linux中输出带颜色的文字的方法
Jun 19 Python
用Python实现协同过滤的教程
Apr 08 Python
python使用fcntl模块实现程序加锁功能示例
Jun 23 Python
Python cookbook(数据结构与算法)实现查找两个字典相同点的方法
Feb 18 Python
教你用Python创建微信聊天机器人
Mar 31 Python
解决python3 urllib 链接中有中文的问题
Jul 16 Python
双向RNN:bidirectional_dynamic_rnn()函数的使用详解
Jan 20 Python
Python3之乱码\xe6\x97\xa0\xe6\xb3\x95处理方式
May 11 Python
matplotlib bar()实现百分比堆积柱状图
Feb 24 Python
Python制作表白爱心合集
Jan 22 Python
Python matplotlib安装以及实现简单曲线的绘制
Apr 26 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
php的header和asp中的redirect比较
2006/10/09 PHP
PHP MSSQL 存储过程的方法
2008/12/24 PHP
解析php中获取系统信息的方法
2013/06/25 PHP
php读取csc文件并输出
2015/05/21 PHP
详解PHP swoole process的使用方法
2017/08/26 PHP
零基础php编程好学吗
2019/10/11 PHP
jquery动态添加删除一行数据示例
2014/06/12 Javascript
JavaScript 表单处理实现代码
2015/04/13 Javascript
JavaScript简单表格编辑功能实现方法
2015/04/16 Javascript
微信小程序 使用picker封装省市区三级联动实例代码
2016/10/28 Javascript
vue的Virtual Dom实现snabbdom解密
2017/05/03 Javascript
JavaScript之数组扁平化详解
2019/06/03 Javascript
JavaScript实现京东放大镜效果
2019/12/03 Javascript
[02:41]DOTA2亚洲邀请赛小组赛第三日 赛事回顾
2015/02/01 DOTA
Python编码时应该注意的几个情况
2013/03/04 Python
Python sys.argv用法实例
2015/05/28 Python
python实现多线程抓取知乎用户
2016/12/12 Python
python urllib爬取百度云连接的实例代码
2017/06/19 Python
Python常见MongoDB数据库操作实例总结
2018/07/24 Python
Python可视化mhd格式和raw格式的医学图像并保存的方法
2019/01/24 Python
python实现接口并发测试脚本
2019/06/25 Python
在 Python 中使用 7zip 备份文件的操作
2020/12/11 Python
Python tkinter之Bind(绑定事件)的使用示例
2021/02/05 Python
利用CSS3的checked伪类实现OL的隐藏显示的方法
2010/12/18 HTML / CSS
HTML5的革新 结构之美
2011/06/20 HTML / CSS
Craghoppers德国官网:户外和旅行服装
2020/02/14 全球购物
简历中自我评价分享
2013/10/09 职场文书
会计专业个人自我鉴定
2014/03/21 职场文书
关于教师节的演讲稿
2014/09/04 职场文书
幼儿园感恩节活动方案2014
2014/10/11 职场文书
教师党员批评与自我批评发言稿
2014/10/15 职场文书
雾霾停课通知
2015/04/24 职场文书
千与千寻观后感
2015/06/04 职场文书
解除处分决定书
2015/06/25 职场文书
董事长秘书工作总结
2015/08/14 职场文书
2016简历自荐信优秀范文
2016/01/29 职场文书