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)
相关推荐
xqqxqxxq3 分钟前
洛谷算法1-1 模拟与高精度(NOIP经典真题解析)java(持续更新)
java·开发语言·算法
MengFly_8 分钟前
Compose 脚手架 Scaffold 完全指南
android·java·数据库
PPPPickup9 分钟前
application.yml或者yaml文件不显示绿色问题
java·数据库·spring
乔江seven9 分钟前
【python轻量级Web框架 Flask 】2 构建稳健 API:集成 MySQL 参数化查询与 DBUtils 连接池
前端·python·mysql·flask·web
*小海豚*9 分钟前
springcloud项目运行启动类无法启动,IDEA也没有任何提示
java·ide
2301_8107301027 分钟前
python第四次作业
数据结构·python·算法
马剑威(威哥爱编程)29 分钟前
Libvio.link爬虫技术解析:搞定反爬机制
爬虫·python
zhougl99636 分钟前
Java 枚举类(enum)详解
java·开发语言·python
想七想八不如1140838 分钟前
2019机试真题
java·华为od·华为
恋爱绝缘体140 分钟前
Java语言提供了八种基本类型。六种数字类型【函数基数噶】
java·python·算法