python爬取百度公司多页新闻
时间: 2024-09-29 16:07:38 浏览: 24
在Python中,我们可以使用requests库来发送HTTP请求获取网页内容,并结合BeautifulSoup库解析HTML文档,提取所需信息。这里是一个基本的步骤来爬取百度公司多页新闻:
1. **安装依赖库**:
首先需要安装`requests`和`beautifulsoup4`库,如果尚未安装,可以使用pip命令:
```bash
pip install requests beautifulsoup4
```
2. **设置起始URL**:
百度新闻通常有分页链接,比如每页底部会有“下一页”链接,找到这类链接并确定开始抓取哪一页。
3. **编写爬虫函数**:
```python
import requests
from bs4 import BeautifulSoup
def fetch_news(url):
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
# 解析新闻列表
news_list = soup.find_all('div', class_='news-item') # 根据实际页面结构调整CSS选择器
for news in news_list:
title = news.find('a', class_='title').text
link = news.find('a')['href']
print(f"标题:{title}\n链接:{link}\n")
# 如果有分页链接,继续抓取下一页
next_page_link = soup.find('a', text='下一页') # 找到下一页按钮
if next_page_link:
return fetch_news('http://www.baidu.com' + next_page_link['href'])
# 开始爬取
start_url = 'http://www.baidu.com/news' # 这里假设是百度新闻首页
fetch_news(start_url)
```
4. **注意事项**:
- 爬虫可能会受到目标网站反爬虫策略的影响,可能需要处理验证码、限制频率等问题。
- 尊重网站robots.txt文件,遵守网络爬虫规则。
- 使用代理IP或设置User-Agent,避免因频繁访问导致IP被封禁。
5.