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发布模块的步骤分享
Feb 21 Python
python类继承用法实例分析
May 27 Python
python利用matplotlib库绘制饼图的方法示例
Dec 18 Python
python好玩的项目—色情图片识别代码分享
Nov 07 Python
Python中的函数作用域
May 07 Python
python 监听salt job状态,并任务数据推送到redis中的方法
Jan 14 Python
python根据txt文本批量创建文件夹
Dec 08 Python
python实现简易学生信息管理系统
Apr 05 Python
如何使用Python破解ZIP或RAR压缩文件密码
Jan 09 Python
python使用正则表达式去除中文文本多余空格,保留英文之间空格方法详解
Feb 11 Python
Python 存取npy格式数据实例
Jul 01 Python
20行代码教你用python给证件照换底色的方法示例
Feb 05 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&MYSQL服务器配置说明
2006/10/09 PHP
PHP中去除换行解决办法小结(PHP_EOL)
2011/11/27 PHP
PHP Warning: PHP Startup: Unable to load dynamic library \ D:/php5/ext/php_mysqli.dll\
2012/06/17 PHP
使用PHP接受文件并获得其后缀名的方法
2015/08/05 PHP
php gd等比例缩放压缩图片函数
2016/06/12 PHP
php输出图像的方法实例分析
2017/02/16 PHP
php设计模式之建造器模式分析【星际争霸游戏案例】
2020/01/23 PHP
ie 处理 gif动画 的onload 事件的一个 bug
2007/04/12 Javascript
Mootools 1.2教程(2) DOM选择器
2009/09/14 Javascript
基于js disabled="false"不起作用的解决办法
2013/06/26 Javascript
js实现动态添加、删除行、onkeyup表格求和示例
2013/08/18 Javascript
JavaScript作用域链使用介绍
2013/08/29 Javascript
使用JavaScript实现Java的List功能(实例讲解)
2013/11/07 Javascript
浅析JS中document对象的一些重要属性
2014/03/06 Javascript
JavaScript Serializer序列化时间处理示例
2014/07/31 Javascript
javacript使用break内层跳出外层循环分析
2015/01/12 Javascript
JQ实现新浪游戏首页幻灯片
2015/07/29 Javascript
JS实现把鼠标放到链接上出现滚动文字的方法
2016/04/06 Javascript
JavaScript地理位置信息API
2016/06/11 Javascript
Bootstrap风格的WPF样式
2016/12/07 Javascript
详解vue+css3做交互特效的方法
2017/11/20 Javascript
在微信小程序中渲染HTML内容的方法示例
2018/09/28 Javascript
vue路由守卫及路由守卫无限循环问题详析
2019/09/05 Javascript
vue-devtools的安装和使用步骤详解
2019/10/17 Javascript
[01:21:58]守擂赛DOTA2第一周决赛
2020/04/22 DOTA
Python3 能振兴 Python的原因分析
2014/11/28 Python
Python2中的raw_input() 与 input()
2015/06/12 Python
Python字典简介以及用法详解
2016/11/15 Python
python逐行读写txt文件的实例讲解
2018/04/03 Python
Django 全局的static和templates的使用详解
2019/07/19 Python
物业管理毕业生个人的求职信
2013/11/30 职场文书
国贸专业个人求职信分享
2013/12/04 职场文书
政协调研汇报材料
2014/08/15 职场文书
争先创优演讲稿
2014/09/15 职场文书
小学生作文写作技巧100例,非常实用!
2019/07/08 职场文书
html中相对位置与绝对位置的具体使用
2022/05/15 HTML / CSS