Python爬取新浪新闻数据写入Excel(python抓取新闻)

网友投稿 445 2022-08-24


Python爬取新浪新闻数据写入Excel(python抓取新闻)

先爬取最新消息列表,再循环爬取对应url中的新闻详细数据

# -*- coding: utf-8 -*-"""Spyder Editornews.py."""import requestsfrom bs4 import BeautifulSoupfrom datetime import datetimeimport jsonimport xlwtdef get_list(url): # 新闻链接 res=requests.get(url) res.encoding='utf-8' # 完整HTML html=BeautifulSoup(res.text,'html.parser') # 新闻列表 newList=[] for item in html.select('.news-item'): try: newObj={} newObj['title']=item.select('h2 a')[0].text newObj['url']=item.select('h2 a')[0].get('href') newList.append(newObj) except: print('出现异常') return newList def get_detail(url): # 新闻链接 res=requests.get(url) res.encoding='utf-8' # 完整HTML html=BeautifulSoup(res.text,'html.parser') # 新闻对象 result={} # 新闻标题 result['title']=html.select('.main-title')[0].text # 发布时间 timesource=html.select('.date-source span')[0].text createtime=datetime.strptime(timesource,'%Y年%m月%d日 %H:%M') createtime.strftime('%Y-%m-%d') result['createtime']=createtime # 新闻来源 result['place']=html.select('.date-source a')[0].text # 新闻内容 article=[] for p in html.select('#article p')[:-1]: article.append(p.text.strip()) articleText=' '.join(article) result['article']=articleText # 新闻作者 result['author']=html.select('.show_author')[0].text.strip('责任编辑:') # 新闻链接 result['url']=url return resultif __name__ == "__main__": #主函数 newList=get_list(' # print(newList) # newObj=get_detail(' # print(newObj) book = xlwt.Workbook(encoding='utf-8') sheet = book.add_sheet('ke_qq') head = ['标题','时间','作者','链接','来源','内容'] #表头 for h in range(len(head)): sheet.write(0,h,head[h]) #写入表头 for i,item in enumerate(newList): try: newObj=get_detail(item['url']) sheet.write(i+1,0,newObj['title']) sheet.write(i+1,1,newObj['createtime']) sheet.write(i+1,2,newObj['author']) sheet.write(i+1,3,newObj['url']) sheet.write(i+1,4,newObj['place']) sheet.write(i+1,5,newObj['article']) print (str(i),'写入成功') except: print (str(i),'出现异常') book.save('F:\ke.xls')


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:python---获取元素 id/name/class_name/link_text/partial选择器及注意事项(python获取元素在列表中的位置)
下一篇:详解Java对象结构与对象锁的升级
相关文章

 发表评论

暂时没有评论,来抢沙发吧~