python爬虫实战——小红书_python小红书爬虫
以下是一个简单的Python小红书爬虫示例,使用requests和BeautifulSoup库。请注意,实际爬取数据时应遵守robots.txt协议,并尽量减少对服务器的请求频率,以免对网站服务造成影响。
import requests
from bs4 import BeautifulSoup
import time
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',
'Referer': 'https://www.xiaohongshu.com/',
}
def get_page(url):
try:
response = requests.get(url, headers=headers)
if response.status_code == 200:
return response.text
return None
except requests.RequestException:
return None
def parse_page(html):
soup = BeautifulSoup(html, 'lxml')
items = soup.find_all('div', class_='video-card')
for item in items:
title = item.find('h3', class_='name').text
detail_url = item.find('a', class_='avatar')['href']
print(f"标题: {title}, 详情链接: {detail_url}")
def main():
base_url = 'https://www.xiaohongshu.com/discovery/video?before='
html = get_page(base_url)
parse_page(html)
if __name__ == '__main__':
main()
time.sleep(2) # 为了避免频繁请求,加入短暂间隔
这段代码首先定义了请求头和获取页面内容的函数get_page
,其使用requests库来发送HTTP请求。parse_page
函数用于解析页面,并提取视频标题和详情链接。main
函数组织了爬虫的主要流程,并在命令行下运行。
请注意,由于小红书的反爬机制较为严格,上述代码可能无法正常工作。在实际应用中,可能需要使用代理、设置Cookies、加密请求参数等策略来绕过网站的安全机制。
评论已关闭