http://www.icourse163.org/course/BIT-1001870001?tid=1001962001#/info
授课老师:嵩天
这个视频超级棒,我记录一下观后感。主要记录下requests库,
首先先上基本框架,
`
hearder={'user-agent':'','cookie':''}
def getHTMLText(url):
try:
r = requests.get(url=url, timeout=30,headers=header)
r.raise_for_status() # 产生异常信息
r.encoding = r.apparent_encoding # 改变编码
return r.text
except:
print("网页爬取失败")
return ""
def parsePage(ilt,html):
try:
plt=re.findall(r'',html)
for i in range(len(plt)):
price=eval(plt[i].split(':')[1]) #eval去掉引号
ilt.append([price,title,id])
except ArithmeticError:
print("列表添加失败")
def printGoodsList(infoList):
tplt="{:^4}"
print(tplt.format(""))
count=0
for g in infoList:
count+=1
print(tplt.format(count,g[0])
if __name__ == '__main__':
goods=''
start_url = '' +goods
depth=4
infoList=[]
for i in range(depth):
try:
url=start_url+''+(str)(44*i)
html=getHTMLText(url)
parsePage(infoList,html)
except ArithmeticError:
print("出错了")
printGoodsList(infoList)`
首先三个方法:
if name == ‘main’: # main里面主要是拼接url
def getHTMLText(url): #url传入进去,解析获取源代码
def parsePage(ilt,html): #通过正则和for方法,从源码里筛选得到自己想要的,保存进列表ilt
def printGoodsList(infoList): #format格式化输出列表
一目了然,顺序流程图清晰的很,如此,便入了门罢
拼接url——>解析url获取网页源码——>正则筛选源码标签,得到自己想要的,保存到列表里面——>格式化循环输出列表。