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中MySQLdb和torndb模块对MySQL的断连问题处理
Nov 09 Python
Windows下安装python MySQLdb遇到的问题及解决方法
Mar 16 Python
python多线程之事件Event的使用详解
Apr 27 Python
Django实现登录随机验证码的示例代码
Jun 20 Python
Python基于sklearn库的分类算法简单应用示例
Jul 09 Python
详解Python 爬取13个旅游城市,告诉你五一大家最爱去哪玩?
May 07 Python
python实现文件的备份流程详解
Jun 18 Python
Puppeteer使用示例详解
Jun 20 Python
解决Django layui {{}}冲突的问题
Aug 29 Python
PyCharm第一次安装及使用教程
Jan 08 Python
Python常见反爬虫机制解决方案
Jun 01 Python
python获取本周、上周、本月、上月及本季的时间代码实例
Sep 08 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
神族 Protoss 剧情介绍
2020/03/14 星际争霸
PHP header函数分析详解
2011/08/06 PHP
将PHP的session数据存储到数据库中的代码实例
2016/06/24 PHP
Jquery中的CheckBox、RadioButton、DropDownList的取值赋值实现代码
2011/10/12 Javascript
JQUERY实现左侧TIPS滑进滑出效果示例
2013/06/27 Javascript
jQuery+Ajax实现无刷新操作
2016/01/04 Javascript
JS基于ocanvas插件实现的简单画板效果代码(附demo源码下载)
2016/04/05 Javascript
jquery ajaxfileupload异步上传插件使用详解
2017/02/08 Javascript
基于Bootstrap框架实现图片切换
2017/03/10 Javascript
Vue 项目部署到服务器的问题解决方法
2017/12/05 Javascript
Vuejs中的watch实例详解(监听者)
2020/01/05 Javascript
javascript 内存模型实例详解
2020/04/18 Javascript
解决vue项目获取dom元素宽高总是不准确问题
2020/07/29 Javascript
JS代码实现页面切换效果
2021/01/10 Javascript
Python中列表元素转为数字的方法分析
2016/06/14 Python
python机器学习案例教程——K最近邻算法的实现
2017/12/28 Python
python实现壁纸批量下载代码实例
2018/01/25 Python
python3基于OpenCV实现证件照背景替换
2018/07/18 Python
Dlib+OpenCV深度学习人脸识别的方法示例
2019/05/14 Python
Django框架orM与自定义SQL语句混合事务控制操作
2019/06/27 Python
pandas中DataFrame修改index、columns名的方法示例
2019/08/02 Python
python程序中的线程操作 concurrent模块使用详解
2019/09/23 Python
Python读取excel文件中带公式的值的实现
2020/04/17 Python
python 写函数在一定条件下需要调用自身时的写法说明
2020/06/01 Python
python:HDF和CSV存储优劣对比分析
2020/06/08 Python
Python自带的IDE在哪里
2020/07/01 Python
Python gevent协程切换实现详解
2020/09/14 Python
突袭HTML5之Javascript API扩展2—地理信息服务及地理位置API学习
2013/01/31 HTML / CSS
英语师范专业毕业生自荐信
2013/09/21 职场文书
体育老师的教学自我评价分享
2013/11/19 职场文书
秋天的怀念教学反思
2014/04/28 职场文书
支部书记四风对照材料
2014/08/28 职场文书
好人好事演讲稿
2014/09/01 职场文书
乡镇领导干部个人对照检查材料思想汇报
2014/09/23 职场文书
个人三严三实对照检查材料
2014/09/25 职场文书
html form表单基础入门案例讲解
2021/07/15 HTML / CSS