国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

python模擬登錄segmentfault及備份文章(續)

mozillazg / 691人閱讀

摘要:上一篇用模擬請求,最后沒有拿到。對于跳轉是由網頁中的腳本所控制的,使用這種模擬真實瀏覽器行為,可以更容易保證其完成整個登錄行為,相對地因為模擬的成本速度會慢一些。

上一篇用requests模擬請求,最后沒有拿到cookies。今天偶爾看一篇HTTP相關的文章,發現在某些請求返回的header中會有set-cookie字段,很明顯之前的失敗應該是沒有接收到包含這個字段的response。自己嘗試人肉登錄發現,cookie中的sf_remember字段是登錄成功后跳轉到首頁時進行set-cookie的,而不是post的時候設置的。所以今天為了更好地模擬請求,使用request.Session來進行,這樣cookie就不用自己去同步了,能更好地模擬瀏覽器行為

def _get_user_cookies(self):
        s = requests.Session()
        s.headers.update(headers)
        rep = s.get(target_url)
        post_url = "%s%s?_=%s" % (target_url, login_api_path,
                                  self.get_req_from_html(rep.text))
        data = {
            "mail": self.username,
            "password": self.passwd,
        }
        s.post(post_url, data=data)

通過反復登陸,我發現必須帶要帶headers,而headers必須的字段只有Referer,這樣才能post成功,成功后會經過一個302重定向到首頁,經歷這個過程便能登陸成功。我查看登陸成功后的cookies,如下:

]>

并沒有sf_remember這個字段,可能是因為我在post的時候沒有使用remember字段(記住該用戶那個),說明之前想當然認為該字段就是標記登錄是不可靠的,標記登錄的很有可能只是PHPSESSID這個值而已。下圖登錄后的所有cookies

因此模擬登錄及備份文章就不需要phantomjs了,只用requests就足夠,當然這只是對于segmemtfault來說,對于微博那種動態的,說不定就只能用Phantomjs,當然能分析出請求過程就能最大限度地使用簡單方法來做自己想做的事

代碼在這兒,增加了打印文章信息及耗時信息的功能,截圖如下:

總結:

對于登錄(或其它任何post行為)時由登錄鏈接直接進行跳轉的(跳轉次數不限),可以直接用requests模擬,它的Session完全可以跟隨這種跳轉行為。
對于跳轉是由網頁中的js腳本所控制的,使用phantomjs這種模擬真實瀏覽器行為,可以更容易保證其完成整個登錄行為,相對地因為模擬的成本速度會慢一些。而且這種類型,理論上也是可以用requests模擬出來的,但是需要事先去分析導致跳轉的js代碼,會比較麻煩且不一定能成為,如果成功則可以提速。比如網易云音樂的藝人頁面,請求了兩個doc,其實只有第二個是需要的。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/37674.html

相關文章

  • python模擬登錄segmentfault備份文章

    摘要:繼續嘗試,成功,但是還是未登錄狀態。如前所說,用模擬登錄拿到,然后帶上去取文章備份就好了,用加了點并發,代碼放到上了,地址,歡迎使用及拍磚以上 直接post登錄失敗 一般的網站確實直接post之后就登錄成功了,然后拿到cookie想怎么玩就怎么玩。不過的確世事難料,失敗在所難免。 首先是人肉登錄,用chrome的network欄查看post了些什么東西,有三項: mail passw...

    DrizzleX 評論0 收藏0
  • python初學——網絡編程之FTP服務器

    摘要:并可以實現,功能對用戶進行磁盤配額,每個用戶的可用空間不同使用模塊檢查用戶目錄的空間上文件大小,如果大于就不讓傳輸。不允許超過磁盤配額。文件的傳輸過程中顯示精度條。用戶價值實現一套自己的服務端與客戶端。 MYFTP是我寫的模擬FTP服務端和客戶端交互的程序。通過使用socket去模擬ftp的文件下載與上次兩個核心功能。并不是使用真實FTP協議去實現。 基本需求 用戶加密認證 # ha...

    TZLLOG 評論0 收藏0
  • 非計算機專業小白自學爬蟲全指南(附資源)

    摘要:爬蟲是我接觸計算機編程的入門。練練練本文推薦的資源就是以項目練習帶動爬蟲學習,囊括了大部分爬蟲工程師要求的知識點。拓展閱讀一文了解爬蟲與反爬蟲最后,請注意,爬蟲的工作機會相對較少。 爬蟲是我接觸計算機編程的入門。哥當年寫第一行代碼的時候別提有多痛苦。 本文旨在用一篇文章說透爬蟲如何自學可以達到找工作的要求。 爬蟲的學習就是跟著實際項目去學,每個項目會涉及到不同的知識點,項目做多了,自然...

    CarlBenjamin 評論0 收藏0
  • 首次公開,整理12年積累的博客收藏夾,零距離展示《收藏夾吃灰》系列博客

    摘要:時間永遠都過得那么快,一晃從年注冊,到現在已經過去了年那些被我藏在收藏夾吃灰的文章,已經太多了,是時候把他們整理一下了。那是因為收藏夾太亂,橡皮擦給設置私密了,不收拾不好看呀。 ...

    Harriet666 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<