爬虫笔记-cookie登录微博

# 适用的场景:数据采集的时候 需要绕过登录 然后进入某个页面
# 个人信息页面时utf-8  但是还报错了编码错误  因为并没有进入个人信息页面  而是跳转到了登录页面
# 登录页面不是utf-8  所以报错

# 什么情况下 访问不成功
# 因为请求头的信息不够  所以访问不成功
import urllib.request

url = 'https://weibo.com/u/7520422345'

headers = {
    # cookie中携带着你的登录信息  如果登录之后的cookie  那么我们就可以携带着cookie进入到任何页面
    'cookie': 'SINAGLOBAL=2294898703994.832.1635084315080; ULV=1640505725013:2:1:1:1876518562754.7322.1640505725006:1635084315166; SUBP=0033WrSXqPxfM725Ws9jqgMF55529P9D9W5dr4dlFfTvuiqf6A4ekXI05JpX5KMhUgL.FoMfeo5XS0qRehz2dJLoIEXLxK-LBo5L12qLxKqL1KqLBo.LxKqL1heLBoeLxK-LBo.LBozLxK.LBK-LB-Bt; ALF=1675437950; SSOLoginState=1643901951; SCF=AgK1PwWYJAlqYTBkpgwPwQFkXZnci0Rarnh0fobF2vNgAsocdLeMns-KsPVurq6SU9NSk7zKS25RCP9ZxNezKUE.; SUB=_2A25M_4OvDeRhGeFL6VIV9yjEyz6IHXVvjPJnrDV8PUNbmtANLXHnkW9NQkNykYY9FIeI0w91iVPtHRg8L7UJ0OQa; XSRF-TOKEN=70SbPiv7y1dIKYanvw2VSl0k; WBPSESS=kyTAq6c3qXeGLwO0O6zVtx1Rcz23WLek-mKU_qe7Q87M_tSFbXM0RxddXAKV4wXDJ-LSe-4YmpYT6qC21nMIEfuBQ0QdaJ8Hrjb4wRxmlc_pYC_Ze6KF_ZGytTag81PZW5IbUrZjbV5k3QeCBy43ZA==',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36',
    # referer  判断当前路径是不是由上一个路径进来的  一般情况下  用于图片的防盗链
    'referer': 'https://weibo.cn/'
}

# 请求对象的定制
request = urllib.request.Request(url=url,headers=headers)

# 模拟浏览器向服务器发送请求
response = urllib.request.urlopen(request)

# 获取响应的数据
content = response.read().decode('utf-8')

# 将数据保存到本地
with open ('weibo.html','w',encoding='utf-8') as fp:
    fp.write(content)

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,我知道你想了解如何用 Python 爬取新浪微博评论。以下是一些步骤供您参考: 1. 安装必要的库 在使用 Python 爬取微博评论前,您需要安装一些必要的库。其中,requests 和 BeautifulSoup 库是必不可少的。 您可以使用以下命令在终端中安装它们: ``` pip install requests pip install beautifulsoup4 ``` 2. 登录微博并获取 cookie 在爬取微博评论之前,您需要登录您的微博账号并获取 cookie。 您可以使用 Chrome 浏览器登录您的微博账号。然后,按 F12 打开开发者工具,切换到“Network”选项卡并刷新页面。在“Filter”栏中输入“comment”,然后点击“XHR”选项卡。 接下来,您可以在“Headers”选项卡中找到“Request Headers”部分,复制“Cookie”字段的值。 3. 构造请求 URL 在获取 cookie 后,您需要构造请求 URL。以下是一个示例 URL:https://weibo.cn/comment/Jf3bhk1V5?uid=123456&page=1 其中,Jf3bhk1V5 是微博的 ID,123456 是用户的 ID,page 是评论的页数。 您可以使用 requests 库发送 GET 请求并传递 cookie微博 ID 和页数参数。 以下是一个示例代码: ``` import requests from bs4 import BeautifulSoup cookie = 'your_cookie_here' url = 'https://weibo.cn/comment/Jf3bhk1V5?uid=123456&page=1' headers = { 'Cookie': cookie } response = requests.get(url, headers=headers) soup = BeautifulSoup(response.text, 'html.parser') # 解析评论 ``` 4. 解析评论 最后,您需要解析页面上的评论。您可以使用 BeautifulSoup 库来解析 HTML。 以下是一个示例代码: ``` comments = soup.find_all('div', class_='c') for comment in comments: # 获取评论内容 content = comment.find('span', class_='ctt').text # 获取评论时间 time = comment.find('span', class_='ct').text # 获取评论用户 user = comment.find('a', class_='nk').text # 输出评论信息 print(f'{user}({time}): {content}\n') ``` 以上就是用 Python 爬取新浪微博评论的一些步骤。请注意,爬取微博评论可能会违反微博的使用协议,因此请谨慎使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

少你三行代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值