Python学习笔记(1)——提取百度新闻标题、网址、日期和来源

 代码练习:

import requests #引用requests库
import 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'}#模拟浏览器访问强求,在谷歌浏览器输入about:version即可获取

url='https://www.baidu.com/s?rtt=1&bsst=1&cl=2&tn=news&rsv_dl=ns_pc&word=%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4'#将网址赋值给变量url
res=requests.get(url,headers=headers).text #通过requests库的get()函数访问该网址,通过.text获取网页源代码的文本内容
#print(res)  #打印输出获取的网页源代码

#正则表达式提取内容
p_source='新闻来源:(.*?)"'#用(.*?)来提取内容
source=re.findall(p_source,res,re.S)#由于(.*?)无法匹配换行,所以要给出re.S参数,在查找时才自动考虑换行,否则提取不到内容
p_date='发布于:(.*?)"'
date=re.findall(p_date,res,re.S)
p_href='<h3 class="news-title_1YtI1"><a href="(.*?)"'
href=re.findall(p_href,res,re.S)
p_title='标题:(.*?)"'
title=re.findall(p_title,res,re.S)
#由于此处可以直接提取,没有过多用到清洗公式,书中用到以下几个清洗公式
#strip()函数把不需要的空格和换行符去掉
#re.sub(需要替换的内容,替换值,原字符串)
#split()函数分割提取内容的列表
#创建两个空列表a[];b[],再用append()为两个空列表添加新元素

#数字清洗,及建立公式循环
#打印输出,i是数字,所以字符串拼接时要用str()函数转换,再,i是从0开始的,所以要写成str(i+1)
for i in range(len(title)):
    print(str(i + 1) + '.' + title[i] + '(' + date[i] + '-' + source[i] + ')')
    print(href[i])


运行结果:


  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值