用python爬取国内网络人气寺庙top10的小红书搜索指数以及上述寺庙在小红书话题的对应关键词
时间: 2024-02-26 15:56:14 浏览: 103
好的,我会尽力回答你的问题。首先需要安装相关的Python库:requests、beautifulsoup4、pandas、selenium。
然后,我们需要用爬虫获取小红书上寺庙的搜索指数和话题关键词。具体步骤如下:
1. 打开小红书网站,进入搜索页面,输入“寺庙”进行搜索。
2. 获取搜索结果页面的HTML代码,使用beautifulsoup4库对其进行解析,提取出前10个寺庙的链接。
3. 通过访问这些链接,获取到每个寺庙的话题关键词和搜索指数。
下面是代码实现:
```python
import requests
from bs4 import BeautifulSoup
import pandas as pd
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
# 设置chrome浏览器的无头模式
chrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')
driver = webdriver.Chrome(options=chrome_options)
# 获取搜索结果页面
url = 'https://www.xiaohongshu.com/search/result?keyword=%E5%AF%BA%E5%BA%99&type=note'
response = requests.get(url)
html = response.text
# 解析HTML代码,提取出前10个寺庙的链接
soup = BeautifulSoup(html, 'html.parser')
items = soup.find_all(class_='note-item')
temple_links = []
for item in items[:10]:
link = item.find(class_='title').get('href')
temple_links.append('https://www.xiaohongshu.com' + link)
# 访问每个寺庙的链接,获取话题关键词和搜索指数
keywords = []
search_indices = []
for link in temple_links:
driver.get(link)
html = driver.page_source
soup = BeautifulSoup(html, 'html.parser')
keyword = soup.find(class_='tags-wrapper').text.strip()
search_index = soup.find(class_='search-number').text.strip()
keywords.append(keyword)
search_indices.append(search_index)
# 将结果存储到Excel表格中
data = {'寺庙名称': [item.find(class_='title').text.strip() for item in items[:10]],
'搜索指数': search_indices,
'话题关键词': keywords}
df = pd.DataFrame(data)
df.to_excel('temples.xlsx', index=False)
```
运行以上代码后,会在当前目录下生成一个名为“temples.xlsx”的Excel文件,其中包含了国内网络人气寺庙top10的小红书搜索指数以及对应的话题关键词。
阅读全文