python模拟登录移动版微博

    本博文主要介绍一下如何利用的python的requests包如何模拟登录移动版微博https://passport.weibo.cn/sso/login,好了废话不多说,下面主要介绍一下基本步骤:

  运行环境及软件介绍:python2.7.12,pycharm5.0,火狐浏览器

  1.先看看要登录的页面


2.按F12调出开发者工具,输入用户名、密码,开始抓包,获取登录post时需要传递的参数


3.开始代码模拟登录吧

import requests
from bs4 import BeautifulSoup

url=r'https://passport.weibo.cn/sso/login'
#构造参数字典
data={'username':'用户名',
      'password':'密码',
      'savestate':'1',
      'r':r'',
      'ec':'0',
      'pagerefer':'',
      'entry':'mweibo',
      'wentry':'',
      'loginfrom':'',
      'client_id':'',
      'code':'',
      'qq':'',
      'mainpageflag':'1',
      'hff':'',
      'hfp':''}
#headers,防屏
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',
            'Accept':'text/html;q=0.9,*/*;q=0.8',
            'Accept-Charset':'ISO-8859-1,utf-8;q=0.7,*;q=0.3',
            'Connection':'close',
            'Referer':'https://passport.weibo.cn/signin/login',
            'Host':'passport.weibo.cn'
            }
#模拟登录
session=requests.session()
session.post(url=url,data=data,headers=headers)
#测试,爬取周志华微博原创内容
for page in range(1,42):
    response=session.get('https://weibo.cn/zhouzh2012?filter=1&page=%d' % page).content
    soup=BeautifulSoup(response,'lxml')
    infos=soup.find_all('span','ctt')
    for info in infos[3:]:
        print info.get_text()
运行结果部分截图:



总结一下,模拟登录其实只是一个开始而已,比较简单,主要是抓去登陆时post的数据,后续可以根据自己需要爬取所需的页面信息,今天就介绍到这里,欢迎讨论得意



  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,您想了解如何使用 Python 模拟登录新浪微博。这是一个比较复杂的过程,需要使用到一些网络编程技术。以下是大致的步骤: 1. 打开新浪微博登录页面,获取登录页面的 HTML 代码。 2. 解析登录页面的 HTML 代码,获取登录所需的参数,如登录表单的 action、用户名和密码的 input 标签名称等。 3. 构造 POST 请求,将用户名和密码等参数以表单形式提交给登录表单的 action 地址。 4. 发送 POST 请求,获取登录后的页面 HTML 代码。 5. 解析登录后的页面 HTML 代码,判断登录是否成功。 以下是一个简单的示例代码,可以帮助您更好地理解该过程: ```python import requests from bs4 import BeautifulSoup # 1. 获取登录页面的 HTML 代码 login_url = 'https://weibo.com/login.php' response = requests.get(login_url) html = response.text # 2. 解析登录页面的 HTML 代码,获取登录所需的参数 soup = BeautifulSoup(html, 'html.parser') login_action = soup.find('form', attrs={'name': 'loginform'})['action'] login_username = soup.find('input', attrs={'name': 'username'})['name'] login_password = soup.find('input', attrs={'name': 'password'})['name'] # 3. 构造 POST 请求,将用户名和密码等参数以表单形式提交给登录表单的 action 地址 data = { 'username': 'your_username', 'password': 'your_password', 'savestate': '1', 'r': '', 'ec': '0', 'pagerefer': '', 'entry': 'mweibo', 'mainpageflag': '1' } post_url = f'https://weibo.com/{login_action}' response = requests.post(post_url, data=data) # 4. 发送 POST 请求,获取登录后的页面 HTML 代码 html = response.text # 5. 解析登录后的页面 HTML 代码,判断登录是否成功 soup = BeautifulSoup(html, 'html.parser') if soup.find('a', attrs={'title': '我的首页'}): print('登录成功') else: print('登录失败') ``` 需要注意的是,该示例代码中使用了 requests 库和 BeautifulSoup 库,需要安装后才能运行。此外,登录过程可能会因为验证码等原因而变得更加复杂,需要您自行处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值