要求(目标)
利用requests、re库爬取 淘宝商品搜索“机械键盘”页面前两页,将商品价格、商品名称按顺序表格形式输出
实现代码
#CorwTaoBaoPrice.py
import requests
import re
#获取页面函数
def getHTMLText(url):
try:
r=requests.get(url,timeout=30)
r.raise_for_status()
r.encoding=r.apparent_encoding #需要手工判断 r.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) #同上
for i in range(len(plt)):
price=eval(plt[i].split(':')[1]) #利用eval将最外层双、单引号去掉,利用split分割,获得后半部分
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