Python 网络爬虫与信息提取(第三周)

本文介绍了Python网络爬虫实战的第三周内容,主要讲解了Beautiful Soup库和re库的关系,强调两者在HTML解析和字符串模式匹配上的不同。同时,通过多项选择题的形式详细阐述了正则表达式的用法、优势、常见操作符及正则在IP地址匹配等场景的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python网络爬虫之实战 (第3周)

1.Beautiful Soup库与re库之间关系,描述正确的是:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬
A
这两个库没有关系
B
re库中可以加载Beautiful Soup库
C
re库能实现HTML解析,功能上与Beautiful Soup库类似
D
Beautiful Soup库中可以加载re库
正确答案: A
两者没关系,re库以字符串模式匹配与检索方式提取信息,与Beautiful Soup库不同。

2.‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬以下不是正则表达式优势的选项是:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬
A
特征表达
B
简洁
C
实现自动化脚本
D
一行胜千言
正确答案: C
尽管正则表达式可用于自动化脚本,但不直接体现自动脚本的作用。

3.‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬re库可以使用如下方式表示正则表达式:r’[1-9]\d{5}’,其中r是什么意思?‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬
A
原生字符串标记
B
正则表达式标记
C
开始位置标记
D
强制标记
正确答案: A
字符串包括:普通字符串和原生字符串,原生字符串中没有转义符(\)。

4.‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬ 正则表达式:\d{3}-\d{8}|\d{4}-\d{7}能匹配哪个?‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬
A
010-1234567
B
010-12345678
C
01012345678
D
0521-12345678
正确答案: B
\d{3}-\d{8}|\d{4}-\d{7}

表示:3个数字-8个数字 或者 4个数字-7个数字

5.‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬正则表达式:^[A-Za-z\d]+$的含义是什么?‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬
A

### Python 网络爬虫正则表达式在北京理工大学场景下的应用 #### 使用Python进行网络爬虫信息提取的重要性 对于北京理工大学这样的学术机构而言,利用Python编写网络爬虫可以有效地收集公开发布的科研成果、课程资料以及其他教育资源。这不仅有助于提高研究效率,还能促进校内外之间的资源共享和技术交流。 #### 正则表达式的角色 在网络爬虫的数据清洗处理阶段,正则表达式扮演着不可或缺的角色[^2]。借助于`re`模块所提供的功能,可以从网页源码中精准定位并抽取特定模式的内容,比如论文标题、作者姓名或是发表日期等重要字段。 #### 实际案例分析——以北理工官网为例 假设目标是从北京理工大学官方网站获取最新的新闻公告列表: 1. **导入必要的** 需要先安装并引入几个常用的第三方包来辅助完成整个过程。 ```python import requests from bs4 import BeautifulSoup as soup import re ``` 2. **发送HTTP请求访问网站主页** 利用`requests.get()`方法向指定URL发起GET请求,并保存响应体至变量response内。 ```python url = "https://www.bit.edu.cn" headers = {'User-Agent': 'Mozilla/5.0'} response = requests.get(url, headers=headers) html_content = response.text ``` 3. **解析HTML文档结构** 创建BeautifulSoup对象以便后续操作更加便捷直观。 ```python page_soup = soup(html_content,"lxml") ``` 4. **定义匹配规则并通过正则表达式筛选有效条目** 这里采用了一个简单的例子说明如何运用正则表达式查找所有包含“通知”二字的通知链接。 ```python pattern = r'[\u4e00-\u9fa5]*通知' links = page_soup.find_all('a', href=True, text=re.compile(pattern)) for link in links: print(link['href']) ``` 上述代码片段实现了基本的功能框架,在此基础上还可以进一步优化和完善,例如增加异常捕获机制确保程序稳定性;调整搜索范围仅限于某些特定区域内的标签元素等等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值