新浪财经是金融新闻类数据挖掘很重要的一个数据来源,它的新闻质量一般都很高。在这里使用爬虫的方法来获取新浪财经的一些新闻资讯。
第一步:
打开新浪财经网站
第二步:
搜索‘工商银行’
第三步:
获取新浪财经里的‘工商银行’的url
url = 'https://search.sina.com.cn/?q=%E5%B7%A5%E5%95%86%E9%93%B6%E8%A1%8C&c=news&sort=time'
这里的%E5%B7%A5%E5%95%86%E9%93%B6%E8%A1%8C表示工商银行
这是是没有进行解析的,为了方便检索可以使用在url尾部添加‘&ie=utf-8’来使用中文,也就是说上述的url等价于
url = 'https://search.sina.com.cn/?q=工商银行&c=news&sort=time&ie=utf-8'
第四步:
我们的目的是为了获取关于工商银行的财经新闻,因此需要分析网页的源码,按F12进入到开发者模式
需要使用正则表达式来进行原网页的解析
对于网页源代码:
网址和标题
<h2><a href="网址" target='_blank">标题</a>
来源和日期
<span class="fgray_time">来源和日期</span>
# 获取标题 p_title = '<h2><a href=".*?" target="_blank">(.*?)</a>' # 获取网址 p_href = '<h2><a href="(.*?)" target="_blank">' # 获取日期 p_date = '<span class="fgray_time">(.*?)</span>'
之后对数据进行清洗,去除一些类似图像等的因素
# 标题 re.sub('<.*?>', '', title[i]) # 日期 date[i].split(' ')[1]
第五步:
获取结果
import requests import re headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36'} def find_information(company): url = 'https://search.sina.com.cn/?q=' + company + '&range=all&c=news&sort=time&ie=utf-8' res = requests.get(url, headers=headers, timeout=10).text p_title = '<h2><a href=".*?" target="_blank">(.*?)</a>' p_href = '<h2><a href="(.*?)" target="_blank">' p_date = '<span class="fgray_time">(.*?)</span>' title = re.findall(p_title, res, re.S) href = re.findall(p_href, res, re.S) date = re.findall(p_date, res, re.S) for i in range(len(title)): title[i] = re.sub('<.*?>', '', title[i]) date[i] = date[i].split(' ')[1] print(str(i + 1) + '.' + title[i] + ' - ' + date[i]) print(href[i]) find_information('工商银行')
结果展示:
第六步:
循环显示
import requests import re headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36'} def find_information(company): url = 'https://search.sina.com.cn/?q=' + company + '&range=all&c=news&sort=time&ie=utf-8' res = requests.get(url, headers=headers, timeout=10).text p_title = '<h2><a href=".*?" target="_blank">(.*?)</a>' p_href = '<h2><a href="(.*?)" target="_blank">' p_date = '<span class="fgray_time">(.*?)</span>' title = re.findall(p_title, res, re.S) href = re.findall(p_href, res, re.S) date = re.findall(p_date, res, re.S) for i in range(len(title)): title[i] = re.sub('<.*?>', '', title[i]) date[i] = date[i].split(' ')[1] print(str(i + 1) + '.' + title[i] + ' - ' + date[i]) print(href[i]) companys = ['工商银行', '建设银行', '农业银行', '中国银行', '交通银行', '邮储银行'] for i in companys: try: find_information(i) print(i + '新浪财经新闻获取成功') except: print(i + '新浪财经新闻获取失败')
结果:
1.工商银行答复来了 - 2021-02-28 http://k.sina.com.cn/article_1442642697_55fcfb0901900z72c.html 2.工商银行贵金属及商品交易策略:短期黄金或将维持低位震荡 美原油至2019年5月以来最高 - 2021-02-26 http://cj.sina.com.cn/articles/view/1704103183/65928d0f0200260e4 3.工商银行金融市场日报:美元指数摆脱七周低点 人民币汇价难有明显方向 - 2021-02-26 http://cj.sina.com.cn/articles/view/1704103183/65928d0f0200260bo 4.工商银行宿迁分行荣获2020年度“银行业工作先进单位综合考核一等奖” - 2021-02-26 http://k.sina.com.cn/article_5675440730_152485a5a020011mt3.html 5.工商银行泰州靖江新区支行多项举措从严落实内控案防管理 - 2021-02-26 http://k.sina.cn/article_1653603955_628ffe73020011m89.html 工商银行新浪财经新闻获取成功 1.建设银行携手辽宁卫视推出《财经零距离》给你权威解读! - 2021-02-27 http://k.sina.cn/article_1788500327_v6a9a5967019011qp4.html 2.建设银行景德镇分行开展主题党日活动 - 2021-02-26 http://jx.sina.com.cn/news/zhzx/2021-02-26/detail-ikftpnny9801916.shtml 3.建设银行中山市分行:建行“到家”了 - 2021-02-26 http://finance.sina.com.cn/jjxw/2021-02-26/doc-ikftpnny9766540.shtml 4.建设银行景德镇市分行珠山支行党支部开展主题党日活动(多图) - 2021-02-25 http://cj.sina.com.cn/articles/view/2341087142/8b8a27a602000z1ke 建设银行新浪财经新闻获取成功 1.用金融“活水”浇灌乡村振兴之花 同安区政府与中国农业银行共谋发展 - 2021-02-28 http://k.sina.com.cn/article_2730765330_a2c42c1202000zsvb.html 2.农业银行拟再发14亿元信用卡不良资产ABS - 2021-02-27 http://cj.sina.com.cn/articles/view/1704103183/65928d0f0200260el 3.中国农业银行多措并举优化企业账户服务 - 2021-02-26 http://t.cj.sina.com.cn/articles/view/1686546714/6486a91a02001c4jw 4.智飞生物、恒瑞医药、农业银行、小康股份、三安光电位居前五! - 2021-02-26 http://cj.sina.com.cn/articles/view/1664221137/6331ffd102000u6va 5.农业银行多措并举优化企业账户服务 - 2021-02-26 http://cj.sina.com.cn/articles/view/1704103183/65928d0f020025zub 6.中国农业银行为我国脱贫攻坚战取得全面胜利贡献力量 - 2021-02-26 http://finance.sina.com.cn/tech/2021-02-26/doc-ikftssap8787243.shtml 7.泰信基金管理有限公司 关于旗下部分开放式基金在中国农业银行股份有限公司开通转换业务的公告 - 2021-02-26 http://finance.sina.com.cn/roll/2021-02-26/doc-ikftssap8777920.shtml 农业银行新浪财经新闻获取成功 1.且听中银基金王伟解析牛年黄金赛道 - 2021-02-28 http://finance.sina.com.cn/roll/2021-02-28/doc-ikftssap9135649.shtml 2.中国银行滨州分行创新丰富线上融资产品 实现普惠金融高质量、可持续发展 - 2021-02-27 http://k.sina.com.cn/article_3235606600_c0db7048020015kza.html 3.银行春招-中国银行招聘备考注意事项 - 2021-02-27 http://k.sina.com.cn/article_1594267255_5f06967700100pdpk.html 4.徐子淇在香港的豪宅:住着寸金寸土的地段,花园旁边就是中银大厦 - 2021-02-27 http://k.sina.com.cn/article_6404075195_17db66ebb00100tt9l.html 5.中银国际:库存持续累积 黑色金属进入调整 - 2021-02-27 http://finance.sina.com.cn/money/future/rese/2021-02-26/doc-ikftpnny9926201.shtml 6.中银基金经理王伟:注重风险收益比,周期底部选成长 - 2021-02-27 http://finance.sina.com.cn/money/fund/jjzl/2021-02-26/doc-ikftpnny9928905.shtml 中国银行新浪财经新闻获取成功 1.交行重庆市分行:多措并举普及金融知识 - 2021-02-28 http://finance.sina.com.cn/roll/2021-02-27/doc-ikftssap9052166.shtml 2.交行监事长蔡允革或赴任重庆副市长,刚在交行干满6个月 - 2021-02-28 http://finance.sina.com.cn/roll/2021-02-27/doc-ikftpnny9992248.shtml 3.交行重庆市分行:多措并举开展金融知识普及工作 - 2021-02-27 http://cq.sina.com.cn/finance/financial_info/2021-02-26/detail-ikftssap8946825.shtml 4.MOM为投资者“指点迷津” 交通银行私人银行陈伯宪:资产配置是唯一免费的午餐 - 2021-02-27 http://cj.sina.com.cn/articles/view/1704103183/65928d0f020025zyw 交通银行新浪财经新闻获取成功 1.邮储银行怀化市分行开展“福牛迎春、欢乐包饺” 活动 - 2021-02-28 http://k.sina.com.cn/article_2618381931_9c11566b02000wxas.html 2.新春慰问情更暖,邮储银行上海奉贤区支行慰问一线在岗员工 - 2021-02-28 http://k.sina.com.cn/article_6573455408_187cef83000100rsg0.html 3.邮储银行溆浦县大江口镇支行重装开业 - 2021-02-27 http://k.sina.com.cn/article_2618381931_9c11566b02000wx0y.html 4.邮储银行溆浦县支行荣获县级“文明单位”称号 - 2021-02-27 http://k.sina.com.cn/article_2618381931_9c11566b02000wx0x.html 5.邮储银行南阳市分行举办“庆元宵 猜谜语”活动 - 2021-02-27 http://k.sina.com.cn/article_1641145823_61d1e5df00100qzim.html 6.邮储银行毕节市分行开展欢喜庆元宵活动 - 2021-02-27 http://k.sina.cn/article_2810373291_a782e4ab02001zx0e.html 7.邮储银行滨州市分行机关开展无偿献血活动 - 2021-02-26 http://k.sina.com.cn/article_2011075080_77de920802000xog1.html 8.邮储银行全国脱贫攻坚先进个人罗明元载誉归来 - 2021-02-26 http://gz.sina.com.cn/hangye/shangxun/2021-02-26/detail-ikftpnny9903424.shtml 9.邮储银行黔东南州分行开展“欢乐闹元宵”工会活动 - 2021-02-26 http://gz.sina.com.cn/hangye/shangxun/2021-02-26/detail-ikftpnny9900052.shtml 邮储银行新浪财经新闻获取成功