python爬虫爬取淘宝网页

原创 2017年05月01日 23:34:42

首先进行相关的分析

要想爬取相关的信息,必须指导如下信息:

1、访问接口

2、翻页操作

首先进行搜索,得到相关的网址:https://s.taobao.com/search?q=书包&imgfile=&commend=all&ssid=s5-e&search_type=item&sourceId=tb.index&spm=a21bo.50862.201856-taobao-item.1&ie=utf8&initiative_id=tbindexz_20170501

然后进行查看第二页的网址:https://s.taobao.com/search?q=书包&imgfile=&commend=all&ssid=s5-e&search_type=item&sourceId=tb.index&spm=a21bo.50862.201856-taobao-item.1&ie=utf8&initiative_id=tbindexz_20170501&bcoffset=4&ntoffset=4&p4ppushleft=1%2C48&s=44

继续查看第三页的网址:https://s.taobao.com/search?q=书包&imgfile=&commend=all&ssid=s5-e&search_type=item&sourceId=tb.index&spm=a21bo.50862.201856-taobao-item.1&ie=utf8&initiative_id=tbindexz_20170501&bcoffset=4&ntoffset=4&p4ppushleft=1%2C48&s=88

进行仔细的观察就知道其中的奥妙所在

所以我们整个程序的设计结构如下:

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

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

3、将信息输出到屏幕上

主要的函数有

1、爬取网页

def getHTMLText(url):
	try:
		r=requests.get(url,timeout=30)
		r.raise_for_status()
		r.encoding=r.apparent_encoding
		return r.text
	except:
		print("")


2、进行信息提取

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])
			title=eval(tlt[i].split(':')[1])
			ilt.append([price,title])
	except:
		print("")


3、进行输出

def printGoodsList(ilt):
	tplt = "{:4}\t{:8}\t{:16}"
	print(tplt.format("序号", "价格", "商品名称"))
	count = 0
	for g in ilt:
		count = count + 1
		print(tplt.format(count, g[0], g[1]))


4、主函数

def main():
	goods='书包'
	depth=2
	start_url='https://s.taobao.com/search?q='+goods
	infoList=[]
	for i in range(depth):
		try:
			#str函数的作用是将其中的内容转换为字符串
			url=start_url+'&s='+str(44*i)
			html=getHTMLText(url)
			parsePage(infoList , html)
		except:
			continue
	printGoodsList(infoList)

下面贴出完整的代码

import requests
import re

#获取页面函数、
def getHTMLText(url):
	try:
		r=requests.get(url,timeout=30)
		r.raise_for_status()
		r.encoding=r.apparent_encoding
		return r.text
	except:
		print("")
#对获取页面进行解析
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])
			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 = 0
	for g in ilt:
		count = count + 1
		print(tplt.format(count, g[0], g[1]))

def main():
	goods='书包'
	depth=2
	start_url='https://s.taobao.com/search?q='+goods
	infoList=[]
	for i in range(depth):
		try:
			#str函数的作用是将其中的内容转换为字符串
			url=start_url+'&s='+str(44*i)
			html=getHTMLText(url)
			parsePage(infoList , html)
		except:
			continue
	printGoodsList(infoList)

main()


版权声明:本文为博主原创文章,未经博主允许不得转载。

python淘宝爬虫基于requests抓取淘宝商品数据

在学校蹭过python的课,觉得python异常的强大,趁寒假有时间,瞎搞一下,希望能和大伙一起探讨。第一次写技术型的博客,希望能互相学习,也当记录学习的笔记。requests 是Python的htt...
  • haha1fan
  • haha1fan
  • 2017年02月07日 16:45
  • 12638

python——爬虫学习——爬取淘宝搜索结果-(5)

python爬虫
  • Zach_z
  • Zach_z
  • 2017年04月29日 15:09
  • 1835

如何使用淘宝商品信息采集爬虫-采集电商商品

对于刚接触神箭手(http://www.shenjian.io/)的童鞋,在使用神箭手大数据市场(http://www.shenjian.io/index.php?r=market/productLi...
  • shenjianshou
  • shenjianshou
  • 2017年11月22日 21:46
  • 370

python3.x爬虫:按页爬取淘宝商品列表

import requests import re '''https://s.taobao.com/search?initiative_id=tbindexz_20170315&ie=utf8&spm...
  • qq_28359387
  • qq_28359387
  • 2017年03月16日 09:52
  • 2324

python爬虫实现简单爬取淘宝商品demo

import requests as req import re def getHTMLText(url): try: r = req.get(url, timeout=30...
  • OliverkingLi
  • OliverkingLi
  • 2017年09月20日 10:28
  • 261

爬取淘宝交易记录的爬虫

前几天刚来头儿让爬个淘宝交易记录先看看,就写了个:
  • jing_EVA
  • jing_EVA
  • 2014年08月01日 13:51
  • 4895

记录一次爬取淘宝/天猫评论数据的过程

转自:http://spaces.ac.cn/archives/3298/ 记录一次爬取淘宝/天猫评论数据的过程 作者:苏剑林 | 发布时间:May 6, 2015 ...
  • zhang_jinhe
  • zhang_jinhe
  • 2016年11月19日 16:01
  • 12749

关于淘宝爬虫实现的总结和反思

从2014年伊始开始打算写一个爬虫,至今天
  • timeless_0728
  • timeless_0728
  • 2014年06月29日 21:24
  • 2952

Python+Scrapy+Selenium简单爬取淘宝天猫商品信息及评论

哈喽,大家好~ 废话不多说,我们直接开始我们的项目吧 首先明确目标: 1.指定任意一个或一类需要爬取的商品 2.爬取所有的商品链接 3.爬取所有商品链接的商品详细信息 4.我们爬取的信息应...
  • qq_37913898
  • qq_37913898
  • 2018年01月06日 23:14
  • 281

Python3实例:爬取淘宝商品列表

这个实例是从淘宝爬数据,原文是:http://www.cnblogs.com/nima/p/5324490.html 因为我比较关心的是网络这一块,所以对文章做了很多删改。侧重在理解request、c...
  • u012175089
  • u012175089
  • 2017年04月13日 14:37
  • 6112
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:python爬虫爬取淘宝网页
举报原因:
原因补充:

(最多只允许输入30个字)