1、使用正则表达式爬取百度新闻两个板块的内容,保存到news.txt中
时间: 2024-09-19 09:07:22 浏览: 78
Python如何使用正则表达式爬取京东商品信息
使用正则表达式爬取网页内容并将其保存到文本文件中通常涉及到网络请求库(如Python的requests)和解析HTML的库(如BeautifulSoup或正则表达式本身)。这里是一个简化的步骤示例,假设我们要抓取的是百度新闻首页的两个板块:
首先,你需要安装必要的库(如果你还没有的话):
```bash
pip install requests beautifulsoup4
```
然后,你可以编写这样的Python脚本:
```python
import re
import requests
from bs4 import BeautifulSoup
# 百度新闻URL
base_url = "https://www.baidu.com/news/"
# 需要爬取的板块ID或链接(这里仅作示例)
section_links = ["news", "tech"]
# 将数据保存到news.txt
with open("news.txt", "w", encoding="utf-8") as f:
for section in section_links:
# 构建每个板块的URL
section_url = base_url + section
# 发送GET请求获取页面内容
response = requests.get(section_url)
soup = BeautifulSoup(response.text, "html.parser")
# 正则表达式可能用于提取标题和链接,这里简化示例
titles_and_links = soup.find_all(["h2", "a"]) # 根据实际HTML结构修改
for title, link in titles_and_links:
# 使用正则表达式提取文本(例如去除HTML标签)
title_text = re.sub("<[^>]*>", "", str(title))
# 写入文本文件
f.write(f"{title_text}\n{link['href']}\n\n") # 这里假设链接在'a'标签的href属性中
# 如果需要分隔各个板块的内容,可以在这里添加换行符
f.write("\n---\n\n") # 分割线区分各板块
```
请注意,这个例子非常基础,并未处理所有可能出现的情况,比如动态加载的内容、反爬虫策略等。实际操作时,你可能需要根据百度新闻的具体页面结构调整正则表达式或其他解析方法。
阅读全文