python爬虫获取微博电视剧评论
时间: 2023-11-12 13:46:09 浏览: 35
获取微博电视剧评论需要模拟用户登录并且爬取评论数据,具体步骤如下:
1. 分析微博电视剧评论页面的 URL,如:https://weibo.cn/comment/ID,其中 ID 为电视剧页面的 ID。
2. 使用 requests 库模拟登录微博并获取 cookies。
3. 使用 BeautifulSoup 或 lxml 库解析评论页面的 HTML 代码,获取评论数据。
4. 可以使用正则表达式或者 Beautiful Soup 等工具提取评论数据,例如评论内容、评论者、评论时间等。
以下是示例代码,仅供参考:
```python
import requests
from bs4 import BeautifulSoup
# 电视剧页面 ID
id = "xxxxxx"
# 微博登录用户名和密码
username = "xxxxxx"
password = "xxxxxx"
# 登录微博并获取 cookies
session = requests.Session()
login_url = "https://passport.weibo.cn/sso/login"
data = {
"username": username,
"password": password,
"savestate": "1",
"r": "",
"ec": "0",
"pagerefer": "",
"entry": "mweibo",
"wentry": "",
"loginfrom": "",
"client_id": "",
"code": "",
"qq": "",
"mainpageflag": "1",
"hff": "",
"hfp": ""
}
session.post(login_url, data=data)
cookies = session.cookies.get_dict()
# 获取评论数据
comment_url = f"https://weibo.cn/comment/{id}"
response = session.get(comment_url, cookies=cookies)
soup = BeautifulSoup(response.content, "lxml")
comments = soup.find_all("div", class_="c")
for comment in comments:
# 提取评论内容
content = comment.find("span", class_="ctt").text.strip()
# 提取评论者
user = comment.find("a").text.strip()
# 提取评论时间
time = comment.find("span", class_="ct").text.strip()
print(f"{user} 评论:{content},时间:{time}")
```
需要注意的是,爬取微博数据是需要遵守法律法规和网站规定的,不要进行非法爬取。
阅读全文