python requests登入知乎
class ZhiHu(object): headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:47.0)' ' Gecko/20100101 Firefox/47.0'} def __init__(self): self.session = requests.Session() def login(self, phone_num, password): data = { "_xsrf": self._xsrf(), "phone_num": phone_num, "password": password, "remember_me": True, "captcha": self._captcha() } post_url = 'https://www.zhihu.com/login/phone_num' r = self.session.post(post_url, data, headers=self.headers) print(r.json()) def _xsrf(self): login_url = "https://www.zhihu.com/#signin" respond = self.session.get(login_url, headers=self.headers) xsrf = re.search(r'name="_xsrf"\s+value="(.*)"', respond.text) return xsrf.group(1) def _captcha(self): url = 'https://www.zhihu.com/captcha.gif?r={}&type=login'.format((time.time()*1000)) try: content = self.session.get(url, headers=self.headers).content with open('captcha.png', 'wb') as f: f.write(content) f.close() except HTTPError: print('failed to download the captcha image!!!') exit(1) print('please enter the captcha: ') return input().rstrip() if __name__ == '__main__': zhihu = ZhiHu() zhihu.login('xxxxx', 'xxxx')
解析:
1.當然是先建立一個session物件,其會儲存網路通訊時的資訊,包括cookies之類的。
2.用post方法傳輸表格資料這個就不用多講啦,至於需要傳輸哪一些資料的話,用Chrome或360遊覽器自帶的工具進行跟蹤查詢就行。在登入頁面滑鼠右鍵‘檢查‘或“審查元素”。
3.值得注意的一點是,提交表單資料的URL與登入頁面的URL是不一樣的,具體怎麼得到,同上使用工具去查詢。
4.注意到一個元素xsrf,此為為安全起見的不重複隨機數。
5.最後一點就是不要把URL中的https寫成http, 前者為密文傳輸, 後者為明文傳輸。
6.關於怎樣判斷登入情況的:程式碼print(r.json())將得到一個字典,那裡可以清楚地看到登陸的情況。
7.程式碼在python3.6 pychram中通過。
如果上述不能通過或有問題,歡迎評論。
還有。。。。
按照同樣的方法嘗試登入教務網,為什麼不行。。。。。????
導致不敢上傳。
相關推薦
python requests登入知乎
這裡用python模擬登入知乎,並確定登入的情況:class ZhiHu(object): headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:47.0)'
requests登入知乎新版
#coding:utf-8 #__author__='wang' import time,json,base64 ''' requests登陸知乎流程: requests登入知乎流程: 1>想到去抓包,檢視使用者名稱,密碼錶單資料的提交地址,也就是POST請求將表單資
Python 模擬登入知乎
前言 前天看到一個爬取了知乎50多萬評論的帖子, 羨慕的同時也想自己來嘗試一下。看看能不能獲取一些有價值的資訊。 必備知識點 下面簡單的來談談我對常見的防爬蟲的一些技巧的理解。 headers 現在很多伺服器都對爬蟲進行了限制,有一個
Python 爬蟲-模擬登入知乎-爬取拉勾網職位資訊
用Python寫爬蟲是很方便的,最近看了xlzd.me的文章,他的文章寫的很到位,提供了很好的思路。因為他的文章部分程式碼省略了。下面是基於他的文章的三個程式碼片段: 基於Python3,Python2的話需要修改下input輸入函式和print的用法。 爬取豆瓣電影top250 爬取拉勾網職位資訊 模擬
Python3 模擬登入知乎(requests)
# -*- coding: utf-8 -*- """ 知乎登入分為兩種登入 一是手機登入 API : https://www.zhihu.com/login/phone_num 二是郵箱登入 API : https://www.zhihu.c
python爬蟲scrapy框架——人工識別登入知乎倒立文字驗證碼和數字英文驗證碼(2)
import scrapy import re import json class ZhihuSpider(scrapy.Spider): name = 'zhihu' allowed_domains = ['www.zhihu.com'] start_urls = ['http
[Python]網路爬蟲(三):使用cookiejar管理cookie 以及 模擬登入知乎
大家好哈,上一節我們研究了一下爬蟲的異常處理問題,那麼接下來我們一起來看一下Cookie的使用。 為什麼要使用Cookie呢? Cookie,指某些網站為了辨別使用者身份、進行session跟蹤而儲存在使用者本地終端上的資料(通常經過加密) 比如說有些網站需要登入後才
Python爬蟲倒立文字驗證碼登入知乎
引言 本文解析了知乎倒立文字驗證碼的原理,人工識別倒立文字所在位置後組織報文成功登入。 原理 關於登入的基本原理可參考Python爬蟲之模擬知乎登入,只不過這篇文章中登入的驗證碼為“數字英文”模式,而當前登入時是“點選倒立文字”模式,所以主要記錄這部分。
python爬蟲scrapy框架——人工識別知乎登入知乎倒立文字驗證碼和數字英文驗證碼
import requests try: import cookielib except: import http.cookiejar as cookielib import re import time def get_xsrf(): # 獲取xsrf code res
python--python3爬蟲之模擬登入知乎
程式碼在python3環境下測試通過: from bs4 import BeautifulSoup import requests url = 'http://www.zhihu.com' login_url = url+'/login/email' captcha_
selenium 模擬登入知乎和微博
sleep https epo element select selenium clas .com -c pip install selenium __author__ = ‘admin‘ __date__ = 2017 / 11 / 3 from selenium im
Python爬去知乎上問題下所有圖片
sts dal b- log email token db4 trie fin from zhihu_oauth import ZhihuClient from zhihu_oauth.exception import NeedCaptchaException cli
爬蟲入門到精通-headers的詳細講解(模擬登入知乎)
直接開始案例吧。 本次我們實現如何模擬登陸知乎。 1.抓包 首先開啟知乎登入頁 知乎 - 與世界分享你的知識、經驗和見解 注意開啟開發者工具後點擊“preserve log”,密碼記得故意輸入錯誤,然後點選登入 我們很簡單的就找到了 我們需要的請
Scrapy Selenium實戰:Selenium登入知乎儲存cookies後訪問需要登入頁面
Scrapy Selenium實戰:Selenium登入知乎儲存cookies後訪問需要登入頁面 安裝 chromedriver 新建爬蟲 zhihu.py 獲取瀏覽器真實的User-Agent 執行驗證
爬蟲入門系列(三):用 requests 構建知乎 API
爬蟲入門系列目錄: 在爬蟲系列文章 優雅的HTTP庫requests 中介紹了 requests 的使用方式,這一次我們用 requests 構建一個知乎 API,功能包括:私信傳送、文章點贊、使用者關注等,因為任何涉及使用者操作的功能都需要登入後才操作,所以在閱讀這篇文章前建議先了解
python爬取知乎專欄使用者評論資訊
工具:python3,pycharm,火狐瀏覽器 模組:json,requests,time 登入知乎,進入專欄。 進入後隨便選擇一個專欄,我們選擇一個粉絲比較多的。點選進去。 其實,我們可以爬取這個專欄的所有文章,開啟開發者工具F12,點選重新整理 找
用python爬取知乎中的圖片
首先,我們檢視一下知乎的robots協議。 User-agent: * Disallow: / 知乎是不允許爬取其根目錄的。 但是,我們只是用於實驗,而且訪問頻率和正常訪問差距不大,所以可以爬取。 先明確目的: 對手動輸入的網址進行解析 把爬取到的圖片儲存到指定目
用 python 抓取知乎指定回答下的視訊
前言 現在知乎允許上傳視訊,奈何不能下載視訊,好氣哦,無奈之下研究一下了,然後擼了程式碼,方便下載視訊儲存。 接下來以 貓為什麼一點也不怕蛇? 回答為例,分享一下整個下載過程。 除錯一下 開啟 F12, 找到游標,如下圖: 然後將游標移動到視訊上。如下圖: 咦這是什麼?視野中出現了一條神祕
python爬取知乎專欄文章標題及URL
# -*- coding:utf-8 -*- from selenium import webdriver import time # 執行程式要安裝selenium模組,並下載Chrome瀏覽器驅動
selenium模擬登入知乎
Selenium是一個用於Web應用程式測試的工具。Selenium測試直接執行在瀏覽器中,就像真正的使用者在操作一樣。支援的瀏覽器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。這個工具的主