python爬虫基础之一(爬淘宝)
没想到python如此强大,
今天看一会视频学会了一段python爬虫
这就是我今天学到的内容爬去淘宝网关于书包的一些信息,包括价格,
#coding=utf-8
import requests#导入requests模块
import re#导入re模块
#提取网页代码通用表达式
def getHTMLText(url):
try:
r = requests.get(url,timeout=30)#获取页面的url链接
r.raise_for_status()
r.encoding = r.apparent_encoding
return r.text
except:
return ""
#提取Html中的主要信息
def parseHtml(ilt,html):
try:#下面是正则表达式处理文字信息
plt = re.findall(r\'\"view_price\"\:\"[\d\.]*\"\',html)
flt = re.findall(r\'\"raw_title\"\:\".*?\"\',html)
for i in range(len(plt)):
price = eval(plt[i].split(":")[1])#eval 可以将前后的”“去掉
name = eval(flt[i].split(":")[1])#split 可以分割字符串到列表红
ilt.append([price,name])
except:
print("")
#将格式打印出来
def printGoodsPrice(ilt):
try:#让排版更清晰
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]))
except:
print("")
def main():
goods = \'书包\'#提取的商品
depth = 2 #提取的深度
url = \'https://s.taobao.com/search?q=\'+goods
ilt = []
i = 0
for i in range(depth):
try:
irl = url + \'&s=\' + str(i*44)#这个地方的改动可以影响提取内容
html = getHTMLText(irl)
parseHtml(ilt,html)
except:
continue
printGoodsPrice(ilt)#打印处理
main()
版权声明:本文为0526yao原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。