Python中的爬虫实战:今日头条爬虫
import requests
from bs4 import BeautifulSoup
import re
import pandas as pd
# 获取今日头条热搜索关键词
def get_touTiao_search_keywords():
url = 'https://www.toutiao.com/'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
response = requests.get(url, headers=headers)
if response.status_code == 200:
return response.text
# 解析网页获取热搜索关键词
def parse_touTiao_search_keywords(html):
soup = BeautifulSoup(html, 'lxml')
key_words = soup.select('span[class="title-content-title"]')
key_words = [i.text.strip() for i in key_words]
return key_words
# 保存数据
def save_data(data, filename):
df = pd.DataFrame(data)
df.to_csv(filename + '.csv', index=False, encoding='utf_8_sig')
# 主函数
def main():
html = get_touTiao_search_keywords()
key_words = parse_touTiao_search_keywords(html)
save_data(key_words, 'toutiao_search_keywords')
if __name__ == '__main__':
main()
这段代码首先定义了获取今日头条首页的get_touTiao_search_keywords
函数,使用了requests库来发送请求,并使用了一个假的User-Agent来模拟浏览器访问。然后定义了解析网页的parse_touTiao_search_keywords
函数,使用了BeautifulSoup库来解析HTML,并使用CSS选择器找到关键词。最后,定义了一个保存数据的save_data
函数,使用了pandas库将数据保存为CSV文件。最后,在main
函数中调用了这些函数来完成整个爬取和保存的过程。
评论已关闭