思路:先爬取首页,然后通过正则筛选出所有文章url,然后通过循环分别爬取这些url到本地
#python新闻爬虫实战
import urllib.request
import re
url = '/'
data = urllib.request.urlopen(url).read() #爬取新浪新闻首页
data2 = data.decode('utf-8','ignore') #ignore表示忽略错误
pat = 'href="(/.*?)"' #匹配所有新闻链接
allurl = pile(pat).findall(data2)
for i in range(0,len(allurl)): #循环爬取所有新闻链接
try:#为了防止爬取过程出现异常终止,做异常处理
print('第'+str(i)+'次爬取')
thisurl = allurl[i]
file ='d:/22/'+str(i)+'.html'
urllib.request.urlretrieve(thisurl,file)#将所有新闻下载到本地
print('----成功-----')
except urllib.error.URLError as e:
if hasattr(e,'code'):
print(e.code)
if hasattr(e,'reason'):
print(e.reason)
如果觉得《网络爬虫-----python爬取新浪新闻》对你有帮助,请点赞、收藏,并留下你的观点哦!