上述程序没有记录到任何数据,是什么原因,对此问题对上面给出的程序进行修改
时间: 2024-04-18 10:27:27 浏览: 96
Oracle存在修改,不存在插入记录
非常抱歉程序没有正确记录数据的问题。这可能是于网站结构或请求方式的改变导致的。为了解决这个问题,我们可以尝试使用CNN网站提供的API,以确保获取到正确的数据。以下是修改后的代码:
```python
import requests
import csv
from collections import Counter
def scrape_cnn_china_articles():
url = 'https://search.api.cnn.io/content?q=China&size=10&from='
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36'
}
keywords = []
for i in range(0, 365, 10):
page_url = url + str(i)
response = requests.get(page_url, headers=headers)
data = response.json()
for article in data['result']:
title = article['headline']
keywords.extend(title.lower().split())
keyword_counts = Counter(keywords)
top_10_keywords = keyword_counts.most_common(10)
with open('cnn_china_keywords.csv', 'w', newline='', encoding='utf-8') as csvfile:
writer = csv.writer(csvfile)
writer.writerow(['Keyword', 'Frequency'])
for keyword, count in top_10_keywords:
writer.writerow([keyword, count])
print('Keywords successfully scraped and saved to cnn_china_keywords.csv')
scrape_cnn_china_articles()
```
在这个修改后的程序中,我们使用CNN提供的搜索API进行数据获取。我们发送GET请求,并使用`response.json()`方法将响应数据转换为JSON格式。然后,我们从JSON数据中提取文章标题,并计算关键词的频率。最后,我们将前10个关键词和它们的频率记录到CSV文件中。
请注意,这个修改后的程序使用了不同的URL和数据处理方式。运行程序后,您将在同一目录下找到生成的CSV文件。希望这次能够成功记录数据!如果仍然遇到问题,请随时告诉我。
阅读全文