python网络爬虫(二)——数据的清洗与组织

学会了网络爬虫发送请求后,我们可以获得一段目标的HTML代码,但是还没有把数据提取出来,接下来需要进行数据的清洗与组织。

python 复制代码
for item in data:
    result={
        'title':item.get_test(),
        'link':item.get('href')
    }
    print(result)

首先明确要提取的数据是标题和链接,标题在a标签中,提取标签的正文用get_text()方法;链接在a标签的href属性中,提取标签中的href属性用get()方法,在括号中指定要提取的属性数据,即get('href')

需要使用的正则符合如下:

\d:匹配数字

+:匹配前一个字符1次或多次

在Python中调用正则表达式时使用re库,这个库不用安装,可以直接调用。可以用如下代码:

python 复制代码
import requests
import re
from bs4 import BeautifulSoup

url = 'https://www.bilibili.com/video/BV1TC4y1N7dB/?spm_id_from=333.1007.0.0&vd_source=912d1bec97cad7dac820d2ba865f116a'
strhtml = requests.get(url)
#print(strhtml.text)

soup = BeautifulSoup(strhtml.text,'lxml')
data = soup.select('#main >div >div.mtop.firstMod.clearfix>div.centerBox>ul.newsList>li>a')
print(data)

for item in data:
    result={
        'title':item.get_test(),
        'link':item.get('href')
        'ID:'re.findall('\d+',item.get('href'))
    }
    print(result)
相关推荐
罗小爬EX11 小时前
升级IDEA 2025.3+后 Spring Boot 配置文件自动提示插件推荐
java·spring boot·intellij-idea
小二·11 小时前
Python Web 开发进阶实战:无障碍深度集成 —— 构建真正包容的 Flask + Vue 应用
前端·python·flask
曹轲恒19 小时前
Java中断
java·开发语言
xxxmine19 小时前
Java并发wait(timeout)
java
冰冰菜的扣jio19 小时前
Redis缓存问题——一致性问题、事务、持久化
java·spring·mybatis
施棠海19 小时前
监听与回调的三个demo
java·开发语言
web3.088899920 小时前
微店商品详情API实用
python·json·时序数据库
毕设源码-钟学长20 小时前
【开题答辩全过程】以 家政服务平台为例,包含答辩的问题和答案
java
知乎的哥廷根数学学派20 小时前
基于数据驱动的自适应正交小波基优化算法(Python)
开发语言·网络·人工智能·pytorch·python·深度学习·算法
sunfove20 小时前
将 Python 仿真工具部署并嵌入个人博客
开发语言·数据库·python