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 淘宝爬虫】python 淘宝店铺名称,旺旺,销售量 抓取

一、需求分析 抓取淘宝店铺名称,旺旺,销售量 二、效果展示 三、实现源代码# encoding: utf-8import sys reload(sys) sys.setdefaultencodin...

用Python爬取淘宝商品

本文爬取淘宝女装短裙商品,并将商品信息存入mysql中

反爬虫/爬虫/脚本/Python语言- 脚本

>廖雪峰的博客:Python解释器 http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000...
  • ShareUs
  • ShareUs
  • 2016年05月25日 15:35
  • 808

python3爬取淘宝信息

# encoding:utf-8 import re # 使用正则 匹配想要的数据 import requests # 使用requests得到网页源码 这个函数是用来得到源码 # 得到主函数...

python爬虫 爬取淘宝网页数据

O、requests 和 re 库的介绍requests库 是一个小型好用的网页请求模块,可用于网页请求,常用来编写小型爬虫安装requests可以使用pip命令:在命令行输入 pip instal...

python爬取淘宝网页

  • 2017年05月03日 09:17
  • 1KB
  • 下载

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

import requests import re '''https://s.taobao.com/search?initiative_id=tbindexz_20170315&ie=utf8&spm...

[笔记]python爬虫:淘宝商品价格信息爬取示例

爬取的网站信息网站地址 淘宝官网:https://www.taobao.com/ 爬取内容 碧根果价格信息 网页对应的部分源代码 从网页源代码中可以看到,需要爬取的商品以 “raw_titl...

python 爬虫 一键爬取 淘宝天猫宝贝页面主图颜色图和详情图

import requests import re,sys,os import json import threading import pprint class spider: def ...

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

python爬虫
  • Zach_z
  • Zach_z
  • 2017年04月29日 15:09
  • 1382
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:python爬虫爬取淘宝网页
举报原因:
原因补充:

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