python学习笔记(5)——搜狗资讯数据挖掘练习

这段代码演示了如何利用Python的requests和re库从搜狗资讯网站抓取新闻标题、来源、时间和网址,并将数据保存到TXT文件中。程序首先设置User-Agent,然后发送GET请求获取网页内容,接着使用正则表达式提取所需信息。最后,通过循环处理数据,去除冗余字符,并将结果写入TXT文件。
摘要由CSDN通过智能技术生成
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)+'条')


运行结果:

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值