1. 程式人生 > >使用cookie模擬登入

使用cookie模擬登入

1、有些網站需要登入後才能訪問某個頁面,在登入之前,你想抓取某個頁面內容,登陸前與登陸後是不同的,或者不允許的。
  使用Cookie和使用代理IP一樣,也需要建立一個自己的opener。在HTTP包中,提供了cookiejar模組,用於提供對Cookie的支援。

2 將Cookie儲存到變數中

def getCookeis():
    #declare a cookiejar object instance to save cookie
    cookie=cookiejar.CookieJar();
    #create cookie processor by HTTPCookieProcessor object of urllib.request lib
    handler=request.HTTPCookieProcessor(cookie);
    #create opener
    opener=request.build_opener(handler);
    #open web page
    response=opener.open('http://www.baidu.com')
    for item in cookie:
        print('Name=%s' %item.name)
        print('Value=%s' %item.value)

3、儲存Cookie到檔案

def getCookiesToTxt():
    filename = '..\\file\cookie.txt'
    cookie = cookiejar.MozillaCookieJar(filename)
    handler=request.HTTPCookieProcessor(cookie)
    opener = request.build_opener(handler)
    response = opener.open('http://www.baidu.com')
    #ignore_discard:even if the cookie will be discared, it will be preserved
    #ignore_expires:if cookies exits in the file,overwrite the original file
    cookie.save(ignore_discard=True, ignore_expires=True)

4、從檔案中獲取Cookie並訪問

def getCookiesFromTxt():
    filename = '..\\file\cookie.txt'
    #create MozillaCookieJar instance object
    cookie = cookiejar.MozillaCookieJar()
    #get cookie from the file to variables
    cookie.load(filename, ignore_discard=True, ignore_expires=True)
    handler=request.HTTPCookieProcessor(cookie)
    opener = request.build_opener(handler)
    response = opener.open('http://www.baidu.com')
    print(response.read().decode('utf-8'))

5、利用cookies模擬登入,這裡選擇的是http://www.biqukan.comhttps網站總是不成功,這個網站目前是http的

def simulateLogin():
    #login url
    login_url = 'http://www.biqukan.com/user/login.php?action=login&usecookie=1&url=http://www.biqukan.com/'
    #User-Agent infromation
    user_agent = r'Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.94 Safari/537.36'
    #Headers information
    head = {'User-Agnet': user_agent, 'Connection': 'keep-alive'}
    #login Form_Data information
    Login_Data = {}
    Login_Data['password'] = 'yourpassword'
    Login_Data['username'] = 'yourname'

    #convert to standard format
    logingpostdata = parse.urlencode(Login_Data).encode('utf-8')
    cookie = cookiejar.CookieJar()
    cookie_support = request.HTTPCookieProcessor(cookie)
    opener = request.build_opener(cookie_support)
    req1 = request.Request(url=login_url, data=logingpostdata, headers=head)

    data_url = 'http://www.biqukan.com/user/bookcase.php'
    req2 = request.Request(url=data_url, headers=head)
    try:
        response1 = opener.open(req1)
        response2 = opener.open(req2)
        html = response2.read().decode('gbk')
        print (html)

    except error.URLError as e:
        if hasattr(e, 'code'):
            print("HTTPError:%d" % e.code)
        elif hasattr(e, 'reason'):
            print("URLError:%s" % e.reason)

相關推薦

cookie模擬登入

我這裡使用的是python中的requests.get(url,headers,cookies). 其中headers和cookies都是字典形式。headers作用是模擬瀏覽器,告訴伺服器我不是爬蟲。cookies作用是模擬使用者,告訴伺服器我不是機器人,我是某某使用者。 以知乎為例,he

使用cookie模擬登入用法之cookiejar 在urllib中的使用

# -*- coding: utf-8 -*- """ Created on Fri May 25 16:36:36 2018 @author: Administrator """ from http import cookiejar from urllib import request fro

爬蟲使用cookie模擬登入

使用cooklelib庫和Httpcookieprocessora模擬登入 Cookie是指網站伺服器為了辨別使用者身份和進行 Session跟蹤,而儲存在使用者瀏覽器的文字檔案, Cookie可以保持登入資訊到使用者下次與伺服器的會話。 這裡以人人網為例。人人網中,要訪回某個人的主頁,必須先登入才

採用cookie模擬登入csdn網站

有些網站需要填寫賬戶和密碼,如果直接爬去網頁資訊,自然是進不去了,這裡採用cookiejar工具來實現這個目的 import urllib.request, urllib.parse, urllib.

在scrapy上使用cookie模擬登入

下面的例子模擬登入知乎的個人設定頁面 設定代理池 scrapy + tor #安裝tor sudo apt-get install tor sudo /etc/init.d/tor restar

使用cookie模擬登入

1、有些網站需要登入後才能訪問某個頁面,在登入之前,你想抓取某個頁面內容,登陸前與登陸後是不同的,或者不允許的。   使用Cookie和使用代理IP一樣,也需要建立一個自己的opener。在HTTP包中,提供了cookiejar模組,用於提供對Cookie的支援。 2

scrapy獲取cookie,並用cookie模擬登入人人網,爬取資料

1. 先用帳號密碼登入人人網,檢視元素,重新整理頁面,network中找第一個網頁請求,並檢視請求cookie 2.複製貼上修改格式  爬蟲程式碼如下: -*- coding: utf-8 -*- import scrapy class RenrenSpider(

Scrapy中使用cookie免於驗證登入模擬登入

Scrapy中使用cookie免於驗證登入和模擬登入 引言 python爬蟲我認為最困難的問題一個是ip代理,另外一個就是模擬登入了,更操蛋的就是模擬登入了之後還有驗證碼,真的是不讓人省心,不過既然有了反爬蟲,那麼就有反反爬蟲的策略,這裡就先介紹一個cookie模擬登陸,後續還有se

爬蟲入門,模擬登入,動態token,攜帶cookie,密文加密,登入拉勾網,簡單爬蟲案例

import requests import re #匯入相應的庫檔案 headers = { 'user-agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64

Selenium新增Cookie模擬無驗證碼登入

最近爬蟲碰見需要用selenium模擬登入,有驗證碼滑塊+圖片點選驗證,在解決過程中發現一篇很好的示例,雖然是無驗證碼的那種,但是還不錯,先記下來! 程式碼及註釋如下: #!coding=utf-8 import time from selenium import webdriver

cookie訪問伺服器實現模擬登入

當我們需要抓取需要登入的網站的資訊或者實現模擬登入時,我們需要得到第一次登入網站的cookie,以便於下次登入可以不用post引數實現登入,只要將cookie放入標頭檔案就好,這是之前寫的模擬登入學校教務的程式碼,記錄以便查閱。 public String

scrapy知乎模擬登入cookie登入

模擬登入# -*- coding: utf-8 -*- import scrapy from scrapy import cmdline #from scrapy.spiders import CrawlSpider import scrapy from scrap

Java爬蟲(三)-- httpClient 模擬登入 + cookie 登入狀態管理

前言 前面兩章內容闡述了httpClient怎麼模擬Http請求和如何解析頁面。 接下去會講在一些實戰中遇到的問題。 現在回到我的開發摸索之路,之前說到我所爬取的網頁是某個險企提供給合作公司的一個頁面,通過賬號登入然後爬取指定的資料。 這裡就出現本章要寫

nginx配置代理,包含Cookie模擬登入

加入下面的配置, 主要配置允許跨域訪問,以及設定代理Cookie, 重點引數:proxy_set_header Cookie / Access-Control-Allow-Origin/ Access-Control-Allow-Credentials location

[Python]網路爬蟲(三):使用cookiejar管理cookie 以及 模擬登入知乎

大家好哈,上一節我們研究了一下爬蟲的異常處理問題,那麼接下來我們一起來看一下Cookie的使用。 為什麼要使用Cookie呢? Cookie,指某些網站為了辨別使用者身份、進行session跟蹤而儲存在使用者本地終端上的資料(通常經過加密) 比如說有些網站需要登入後才

使用cookie繞過驗證碼進行模擬登入

1.工具 httpClient jar包 任意抓包工具 推薦 firefox的 firebug(非常好用) 在使用httpClient進行模擬登入時,有時候會遇到需要輸入驗證碼的情況。而對驗證碼進行識別的方法既費時效果還不好。這裡提供一個取巧的方法,即使用

request post 模擬登入 csdn 獲取儲存cookie

# -*- coding=utf-8 -*- import requests from lxml import etree headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) Apple

urllib庫利用cookie實現模擬登入慕課網

思路 1.首先在網頁中使用賬戶和密碼名登入慕課網 2.其次再分析請求頭,如下圖所示,獲取到請求URL,並提取出cookie資訊,儲存到本地 3.最後在程式碼中構造請求頭,使用urllib.request傳送包含cookie資訊的請求 原始碼 # !/usr/bin/e

Java 模擬登入新浪微博(Cookie)

最近需要對微博的資料進行一些收集, 首先從登入開始 1. 通過GET請求login public static String login(String username, String password) throws MalformedURLExcept

Scrapy框架模擬登入cookie登入

新建douban專案 通過charles  獲取到cookie後 貼上進入pycharm, 尼瑪格式混亂,無奈手工新增冒號,同時將=號換成:號。。。 cookies = { "bid": "EP3q1inffgg", "__yadk_uid" : "bI