【爬虫实战】今日头条-关键词搜索-快速整理出1w条数据
为了回答这个问题,我们需要创建一个简单的Python爬虫,使用requests
库来获取网页内容,用BeautifulSoup
解析网页,并将数据存储到CSV文件中。
首先,确保安装所需的库:
pip install requests beautifulsoup4 lxml
以下是一个简单的Python爬虫示例,用于从今日头条搜索特定关键词并提取前1w条结果:
import requests
from bs4 import BeautifulSoup
import csv
def get_data(keyword):
base_url = 'https://www.toutiao.com/search_content/?'
params = {
'keyword': keyword,
'offset': 0,
'format': 'json',
'autoload': 'true',
'count': 20,
'cur_tab': 1,
'from': 'search_tab'
}
data = []
for i in range(50): # 大约1w条数据,分20条一页,50页
params['offset'] = i * 20
response = requests.get(base_url, params=params)
if response.status_code == 200:
json_data = response.json()
articles = json_data.get('data', [])
for article in articles:
data.append({
'title': article.get('title'),
'url': article.get('url'),
'source': article.get('source'),
'comment_count': article.get('comment_count'),
'like_count': article.get('like_count')
})
else:
print(f'Error fetching page: {response.status_code}')
break
return data
def save_to_csv(data, filename):
with open(filename, 'w', newline='', encoding='utf-8') as file:
writer = csv.DictWriter(file, fieldnames=data[0].keys())
writer.writeheader()
writer.writerows(data)
if __name__ == '__main__':
keyword = 'Python' # 替换为你想搜索的关键词
data = get_data(keyword)
save_to_csv(data, f'{keyword}_toutiao_data.csv')
这个脚本会搜索指定的关键词,获取前50页的数据(大约10000条),然后将结果保存到CSV文件中。注意,今日头条有自己的反爬策略,这个脚本可能无法长期稳定地工作,它仅用于学习目的。
评论已关闭