import requests #引用requests库
import re#引用re库
headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36'}
url = 'https://www.sogou.com/sogou?&interation=1728053249&query=京东'#搜狗资讯的网址经过删减处理
res=requests.get(url,headers=headers,timeout=10).text
#提取数据
p_source='<h3 class="vr-title">(.*?)</a>'#提取网址和标题
source=re.findall(p_source,res,re.S)
p_info='<p class="news-from text-lightgray">(.*?)</p>'#提取来源和时间
info=re.findall(p_info,res,re.S)
#清洗数据
href=[]#创建空列表,储存网址
title=[]#创建空列表,储存标题
news=[]#创建空列表,储存新闻网来源
date=[]#创建空列表,储存时间
for i in range(len(info)):
info[i]=info[i].strip()#去除多余的空格和换行符
info[i]=re.sub('<span>','',info[i])#去除多余的<span>
news.append(info[i].split('</span>')[0])#以</span>为info列表的分割字符串,在空列表news[]中加入列表第0个元素
date.append(info[i].split('</span>')[1])#以</span>为info列表的分割字符串,在空列表news[]中加入列表第1个元素
source[i]=source[i].strip()#去除多余的空格和换行符
source[i]=re.sub('<.*?href="','',source[i])
href.append(source[i].split('">')[0])
title.append(source[i].split('">')[1])
title[i]=re.sub('<.*?>','',title[i])
# 自动创建txt文本写入数据
file1 = open('F:\\05pycharm\\20220227学习\\搜狗新闻数据挖掘.txt', 'a') # 新建txt文件,a为追加模式,w为写模式
file1.write(str(i + 1) + '.' + title[i] + '(' + news[i] + '-' + date[i] + ')'+'\n' +'https://www.sogou.com'+href[i]) # 用write()函数写入字符串
file1.write('\n')
print('成功爬取搜狗新闻'+str(i+1)+'条')
运行结果: