我需要完成这项任务,但是爬到的数据是空的,只有表头(如图2),代码如下,请问是为什么呢?
import requests
# 目标网址
url = 'http://www.xinhuanet.com/'
# 发送 GET 请求,获取页面内容
response = requests.get(url)
content = response.content.decode('utf-8')
from bs4 import BeautifulSoup
# 使用 BeautifulSoup 解析页面内容
soup = BeautifulSoup(content, 'html.parser')
# 提取页面中所有包含新闻标题、发布时间和链接的 div 标签
news_divs = soup.find_all('div', class_='new-data-words')
# 遍历每一个 div 标签,提取包含的信息
for news_div in news_divs:
# 提取新闻标题
title = news_div.find('a').text
# 提取新闻发布时间
publish_time = news_div.find('span', class_='time').text
# 提取新闻链接
link = news_div.find('a')['href']
import csv
# 打开 csv 文件
with open('news.csv', 'w', encoding='utf-8', newline='') as csvfile:
# 定义 csv writer
writer = csv.writer(csvfile)
# 写入表头
writer.writerow(['Title', 'Publish Time', 'Link'])
# 遍历每一个 div 标签,提取包含的信息并写入 csv 文件
for news_div in news_divs:
# 提取新闻标题
title = news_div.find('a').text
# 提取新闻发布时间
publish_time = news_div.find('span', class_='time').text
# 提取新闻链接
link = news_div.find('a')['href']
# 写入 csv 文件
writer.writerow([title, publish_time, link])