爬取新浪新闻并存储在本地。
import urllib.request
import re
data=urllib.request.urlopen('http://news.sina.com.cn/').read()
data=data.decode('utf-8','ignore') #编码出现问题自动忽略
pat='href="(http://news.sina.com.cn/.*?)"'
allurl=re.compile(pat).findall(data)
for i in range(0,len(allurl)):
try:
print('这是第'+str(i)+'次爬取')
thisurl=allurl[i]
file='D:/1python/sinanews/新闻'+str(i)+'.html'
urllib.request.urlretrieve(thisurl,file)
print('第'+str(i)+'次成功')
except urllib.error.URLError as e:
if hasattr(e,'code'): #判断是否有状态码
print(e.code)
if hasattr(e,'reason'): #判断是否有原因
print(e.reason)
——来自韦玮老师课堂