代码练习:
from selenium import webdriver#引进selinium库
import re#引入re库
#定义函数
def greatchao(keyword):
#selenium库模拟浏览器
url='http://www.cninfo.com.cn/new/fulltextSearch?notautosubmit=&keyWord='+keyword
chrome_options=webdriver.ChromeOptions()
chrome_options.add_argument('--headless')
browser=webdriver.Chrome(options=chrome_options)
browser.get(url)
data=browser.page_source
browser.quit() # 关闭模拟浏览器
#正则提取内容
p_title = '<span title="" class="r-title">(.*?)</span>'
p_href = '<a target="_blank" href="(.*?)" data-id=".*?" data-orgid=.*?" data-seccode=".*?" class="ahover">'
p_date = '<td rowspan="1" colspan="1" class="el-table_1_column_3 is-left "><div class="cell"><span class="time">(.*?)</span>'
title = re.findall(p_title,data,re.S)
href = re.findall(p_href,data,re.S)
date = re.findall(p_date,data,re.S)
# print(title)#通过观察需要清除<>内容
# print(href)#通过观察,网址需要加前缀http: // www.cninfo.com.cn /,去掉文中amp;
# print(date)#通过观察,日期需要清除换行符,空格以及部分带时间的格式
#遍历标题清洗数据
for i in range(len(title)):
title[i]=re.sub('<.*?>', '', title[i])
href[i]='http://www.cninfo.com.cn' + href[i]
href[i]=re.sub('amp;', '', href[i])
date[i]=date[i].strip()
date[i]=date[i].split(' ')[0]
print(str(i+1)+'.'+title[i]+'-'+date[i])
print(href[i])
#调用自定义函数
keywords=['理财','现金管理','纾困']
for i in keywords:
greatchao(i)
运行结果: