bs4解析并提取人民网新闻标题数据

1. 目标url:http://www.people.com.cn/

2. 查找标题信息所在标签:标题的文本信息在<a>标签中,且<a>标签有target属性,属性值为"_blank"。<a>标签有父辈标签<div>和<h3>。

当需要根据元素的层级关系、属性组合等复杂条件定位时;文档层次分明时CSS选择器非常有用,对于熟悉CSS选择器的开发者来说使用CSS选择器可以使代码更加简洁易读。可以在bs4官网https://www.crummy.com/software/BeautifulSoup/bs4/doc.zh/#id83或Soup Sieve(通过 pip 安装 Beautiful Soup 时,Soup Sieve 也会自动安装,不用其它额外操作。)官网https://facelessuser.github.io/soupsieve/selectors/basic/中查看。

运行代码:

import requests
from fake_useragent import UserAgent
from bs4 import BeautifulSoup
# 请求地址
url = 'http://www.people.com.cn'
# 封装请求头
headers = {'User-Agent': UserAgent().chrome}
# 发送get请求
resp = requests.get(url, headers=headers)
# 设置编码为gbk
resp.encoding = 'gbk'
# 构建一个bs4对象
bs = BeautifulSoup(resp.text, 'lxml')
# bs4实现css选择器提取数据
infos = bs.select('div > h3 [target]')
for info in infos:
    print(info.string)

运行结果:

坚持全面深化改革开放
一面留言墙 书不尽两岸情
青海贵德:从滴水崖渡口 守护黄河安澜
谢兆寿过节记
国资委:国企到2025年须普遍推行末等调整和不胜任退出制度
国家网信办就终端设备直连卫星服务管理规定公开征求意见
越是假期 出行越繁忙 安全越重要
教育获得感更充实 支撑发展更有力
利比里亚农业部部长:“希望继续学习借鉴中方水稻种植技术”
匈塞铁路匈牙利段中方段铺轨作业基本完成
“共和国勋章”获得者、“二级战斗英雄”黄宗德:英雄的“心”
海南省部署国庆旅游和文化市场综合监管工作
国庆假期长线游成预订主流
“中网热”折射中国网球运动发展新图景
医保支付资格管理制度发布:“驾照式记分”守好医保“钱袋子”

 

posted @ 2024-09-28 19:40  松鼠q  阅读(3)  评论(0编辑  收藏  举报