将新浪新闻首页所有新闻爬取下来

 
 
'''将新浪新闻首页所有新闻爬取下来'''
import urllib.request
import urllib.error
import re


#模拟请求头
headers={
'User-Agent':"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) "
             "Chrome/49.0.2623.112 Safari/537.36"
}
#设置请求体
req=urllib.request.Request('https://news.sina.com.cn/',headers=headers)
response=urllib.request.urlopen(req)
data=response.read().decode('utf-8','ignore')
#正则表达式
pat='href="(http://news.sina.com.cn/.*?)"'
#新闻链接
urllists=re.findall(pat,data)
print(urllists)
for i in range(1,len(urllists)):
    time.sleep(3)
    try:
        file="C:/Users/Administrator/Desktop/news/"+str(i)+".html"
        urllib.request.urlretrieve(urllists[i],file)
    except urllib.error.URLError as e:
        if hasattr(e,'code'):
            print(e.code)
        if hasattr(e,'reason'):
            print(e.reason)

猜你喜欢

转载自blog.csdn.net/weixin_42141853/article/details/80761370