2.(简答题)使用Python语言,运用正则表达式编写代码 任务:爬取百度热搜榜页面中的热搜关键词和热力值 要求: 1、爬取内容不包括置顶热搜信息 2、作业提交内容包括热搜页面,完整代码,执行结果等信息截屏。
时间: 2024-12-18 20:23:08 浏览: 5
Oracle数据库正则表达式使用场景代码实例
使用Python进行网页爬虫并提取百度热搜榜的数据,我们可以借助`requests`库获取HTML内容,然后利用`BeautifulSoup`解析HTML,通过正则表达式匹配目标信息。以下是简单的步骤和示例代码:
```python
import requests
from bs4 import BeautifulSoup
import re
# 目标URL
url = "https://top.baidu.com/"
# 发送GET请求
response = requests.get(url)
html_content = response.text
# 解析HTML
soup = BeautifulSoup(html_content, 'lxml')
# 使用正则表达式查找关键词和热力值
pattern = r'<li class="hotItem.*?title">(.*?)</a><span class="heat">(\d+)</span>'
matches = re.findall(pattern, str(soup))
# 过滤掉置顶热搜
filtered_data = [item for item in matches if not '置顶' in item[0]]
# 打印结果
for keyword, heat in filtered_data:
print(f"关键词: {keyword}, 热度: {heat}")
# 注意: 由于网站结构可能会变,这里的正则表达式需要定期更新以适应新的HTML结构。此外,为了防止过于频繁的访问导致封IP,最好设置合适的延迟。
```
完成上述代码后,你需要运行它,并截取运行后的网页以及输出结果作为作业提交的一部分。同时,记得将代码保存到文件中一起提交,例如`baidu_hot_search.py`。
阅读全文