import re
import requests
def getHTMLText(url):
try:
r = requests.get(url, timeout = 30)
r.raise_for_status()
r.encoding = r.apparent_encoding
return r.text
except:
return "获取连接出错了"
def parsePage(ilt, html):
try:
#使用re库进行 文字的抽取
plt = re.findall(r'class="ysM1nrSp1">[^<]*', html)
tlt = re.findall(r'class="ysM1nrSp2">[^<]*', html)
for i in range(len(plt)):
price = plt[i].split('>')[1]
title = tlt[i].split('>')[1]
ilt.append([price, title])
except:
print("页面解析出错了")
def printGoodsList(ilt):
tplt = "{:4}\t{:8}\t{:16}"
print(tplt.format("序号", "NAME", "FAME"))
count = 0
for g in ilt:
count = count+1
print(tplt.format(count, g[0], g[1]))
def main():
depth = 1
#此处为欲爬取的url
url = 'https://eecs.pku.edu.cn/szdw1.htm'
infoList = []
for i in range(1):
try:
html = getHTMLText(url)
parsePage(infoList, html)
except:
continue
printGoodsList(infoList)
main()
修改两点即可 再爬别的网站
- url
- 正则表达式的修改