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

資訊專欄INFORMATION COLUMN

12、web爬蟲講解2—Scrapy框架爬蟲—Scrapy模擬瀏覽器登錄—獲取Scrapy框架Coo

jay_tian / 746人閱讀

摘要:百度云搜索,搜各種資料搜網(wǎng)盤,搜各種資料模擬瀏覽器登錄方法,可以返回一個請求給爬蟲的起始網(wǎng)站,這個返回的請求相當于,返回的請求會替代里的請求請求,可以設(shè)置,回調(diào)函數(shù)表單提交,第一個必須參數(shù),上一次響應的對象,其他參數(shù),表單內(nèi)容等可以將一個新

【百度云搜索,搜各種資料:http://www.bdyss.cn】
【搜網(wǎng)盤,搜各種資料:http://www.swpan.cn】

模擬瀏覽器登錄

start_requests()方法,可以返回一個請求給爬蟲的起始網(wǎng)站,這個返回的請求相當于start_urls,start_requests()返回的請求會替代start_urls里的請求

Request()get請求,可以設(shè)置,url、cookie、回調(diào)函數(shù)

FormRequest.from_response()表單post提交,第一個必須參數(shù),上一次響應cookie的response對象,其他參數(shù),cookie、url、表單內(nèi)容等

yield Request()可以將一個新的請求返回給爬蟲執(zhí)行

在發(fā)送請求時cookie的操作,
meta={"cookiejar":1}表示開啟cookie記錄,首次請求時寫在Request()里
meta={"cookiejar":response.meta["cookiejar"]}表示使用上一次response的cookie,寫在FormRequest.from_response()里post授權(quán)
meta={"cookiejar":True}表示使用授權(quán)后的cookie訪問需要登錄查看的頁面

獲取Scrapy框架Cookies

請求Cookie
Cookie = response.request.headers.getlist("Cookie")
print(Cookie)

響應Cookie
Cookie2 = response.headers.getlist("Set-Cookie")
print(Cookie2)

#?-*-?coding:?utf-8?-*-
import?scrapy
from?scrapy.http?import?Request,FormRequest

class?PachSpider(scrapy.Spider):????????????????????????????#定義爬蟲類,必須繼承scrapy.Spider
????name?=?"pach"???????????????????????????????????????????#設(shè)置爬蟲名稱
????allowed_domains?=?["edu.iqianyue.com"]??????????????????#爬取域名
????#?start_urls?=?["http://edu.iqianyue.com/index_user_login.html"]?????#爬取網(wǎng)址,只適于不需要登錄的請求,因為沒法設(shè)置cookie等信息

????header?=?{"User-Agent":"Mozilla/5.0?(Windows?NT?10.0;?WOW64;?rv:54.0)?Gecko/20100101?Firefox/54.0"}??#設(shè)置瀏覽器用戶代理

????def?start_requests(self):???????#用start_requests()方法,代替start_urls
????????"""第一次請求一下登錄頁面,設(shè)置開啟cookie使其得到cookie,設(shè)置回調(diào)函數(shù)"""
????????return?[Request("http://edu.iqianyue.com/index_user_login.html",meta={"cookiejar":1},callback=self.parse)]

????def?parse(self,?response):?????#parse回調(diào)函數(shù)

????????data?=?{????????????????????#設(shè)置用戶登錄信息,對應抓包得到字段
????????????"number":"adc8868",
????????????"passwd":"279819",
????????????"submit":""
????????????}

????????#?響應Cookie
????????Cookie1?=?response.headers.getlist("Set-Cookie")???#查看一下響應Cookie,也就是第一次訪問注冊頁面時后臺寫入瀏覽器的Cookie
????????print(Cookie1)

????????print("登錄中")
????????"""第二次用表單post請求,攜帶Cookie、瀏覽器代理、用戶登錄信息,進行登錄給Cookie授權(quán)"""
????????return?[FormRequest.from_response(response,
??????????????????????????????????????????url="http://edu.iqianyue.com/index_user_login",???#真實post地址
??????????????????????????????????????????meta={"cookiejar":response.meta["cookiejar"]},
??????????????????????????????????????????headers=self.header,
??????????????????????????????????????????formdata=data,
??????????????????????????????????????????callback=self.next,
??????????????????????????????????????????)]
????def?next(self,response):
????????a?=?response.body.decode("utf-8")???#登錄后可以查看一下登錄響應信息
????????#?print(a)
????????"""登錄后請求需要登錄才能查看的頁面,如個人中心,攜帶授權(quán)后的Cookie請求"""
????????yield?Request("http://edu.iqianyue.com/index_user_index.html",meta={"cookiejar":True},callback=self.next2)
????def?next2(self,response):
????????#?請求Cookie
????????Cookie2?=?response.request.headers.getlist("Cookie")
????????print(Cookie2)

????????body?=?response.body??#?獲取網(wǎng)頁內(nèi)容字節(jié)類型
????????unicode_body?=?response.body_as_unicode()??#?獲取網(wǎng)站內(nèi)容字符串類型

????????a?=?response.xpath("/html/head/title/text()").extract()??#得到個人中心頁面
????????print(a)

模擬瀏覽器登錄2

第一步、

爬蟲的第一次訪問,一般用戶登錄時,第一次訪問登錄頁面時,后臺會自動寫入一個Cookies到瀏覽器,所以我們的第一次主要是獲取到響應Cookies

首先訪問網(wǎng)站的登錄頁面,如果登錄頁面是一個獨立的頁面,我們的爬蟲第一次應該從登錄頁面開始,如果登錄頁面不是獨立的頁面如 js 彈窗,那么我們的爬蟲可以從首頁開始

#?-*-?coding:?utf-8?-*-
import?scrapy
from?scrapy.http?import?Request,FormRequest
import?re

class?PachSpider(scrapy.Spider):????????????????????????????#定義爬蟲類,必須繼承scrapy.Spider
????name?=?"pach"???????????????????????????????????????????#設(shè)置爬蟲名稱
????allowed_domains?=?["dig.chouti.com"]????????????????????#爬取域名
????#?start_urls?=?[""]?????????????????????????????????????#爬取網(wǎng)址,只適于不需要登錄的請求,因為沒法設(shè)置cookie等信息

????header?=?{"User-Agent":"Mozilla/5.0?(Windows?NT?10.0;?WOW64;?rv:54.0)?Gecko/20100101?Firefox/54.0"}??#設(shè)置瀏覽器用戶代理

????def?start_requests(self):
????????"""第一次請求一下登錄頁面,設(shè)置開啟cookie使其得到cookie,設(shè)置回調(diào)函數(shù)"""
????????return?[Request("http://dig.chouti.com/",meta={"cookiejar":1},callback=self.parse)]

????def?parse(self,?response):
????????#?響應Cookies
????????Cookie1?=?response.headers.getlist("Set-Cookie")????????????????????????????#查看一下響應Cookie,也就是第一次訪問注冊頁面時后臺寫入瀏覽器的Cookie
????????print("后臺首次寫入的響應Cookies:",Cookie1)

????????data?=?{????????????????????????????????????????????????????????????????????#?設(shè)置用戶登錄信息,對應抓包得到字段
????????????"phone":?"8615284816568",
????????????"password":?"279819",
????????????"oneMonth":?"1"
????????}

????????print("登錄中....!")
????????"""第二次用表單post請求,攜帶Cookie、瀏覽器代理、用戶登錄信息,進行登錄給Cookie授權(quán)"""
????????return?[FormRequest.from_response(response,
??????????????????????????????????????????url="http://dig.chouti.com/login",????????????????????????#真實post地址
??????????????????????????????????????????meta={"cookiejar":response.meta["cookiejar"]},
??????????????????????????????????????????headers=self.header,
??????????????????????????????????????????formdata=data,
??????????????????????????????????????????callback=self.next,
??????????????????????????????????????????)]

????def?next(self,response):
????????#?請求Cookie
????????Cookie2?=?response.request.headers.getlist("Cookie")
????????print("登錄時攜帶請求的Cookies:",Cookie2)

????????jieg?=?response.body.decode("utf-8")???#登錄后可以查看一下登錄響應信息
????????print("登錄響應結(jié)果:",jieg)

????????print("正在請需要登錄才可以訪問的頁面....!")

????????"""登錄后請求需要登錄才能查看的頁面,如個人中心,攜帶授權(quán)后的Cookie請求"""
????????yield?Request("http://dig.chouti.com/user/link/saved/1",meta={"cookiejar":True},callback=self.next2)

????def?next2(self,response):
????????#?請求Cookie
????????Cookie3?=?response.request.headers.getlist("Cookie")
????????print("查看需要登錄才可以訪問的頁面攜帶Cookies:",Cookie3)

????????leir?=?response.xpath("http://div[@class="tu"]/a/text()").extract()??#得到個人中心頁面
????????print("最終內(nèi)容",leir)
????????leir2?=?response.xpath("http://div[@class="set-tags"]/a/text()").extract()??#?得到個人中心頁面
????????print(leir2)


【轉(zhuǎn)載自:http://www.lqkweb.com】

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/45076.html

相關(guān)文章

  • 14、web爬蟲講解2Scrapy框架爬蟲—豆瓣登錄與利用打碼接口實現(xiàn)自動識別驗證碼

    摘要:登錄開發(fā)者后臺我的軟件獲得軟件軟件密鑰注意這里是普通會員賬號,不是開發(fā)者賬號,注冊地址開發(fā)者可以聯(lián)系客服領(lǐng)取免費調(diào)試題分請先設(shè)置用戶名密碼一鍵識別函數(shù)正在一鍵識別例表示位字母數(shù)字,不同類型收費不同。請準確填寫,否則影響識別率。 【百度云搜索:http://www.bdyss.cn】 【搜網(wǎng)盤:http://www.swpan.cn】 打碼接口文件 # -*- coding: cp936...

    wemall 評論0 收藏0
  • 10、web爬蟲講解2Scrapy框架爬蟲Scrapy安裝—Scrapy指令

    摘要:負責處理被提取出來的。典型的處理有清理驗證及持久化例如存取到數(shù)據(jù)庫知識庫項目的設(shè)置文件實現(xiàn)自定義爬蟲的目錄中間件是在引擎及之間的特定鉤子,處理的輸入和輸出及。 【百度云搜索:http://www.bdyss.com】 【搜網(wǎng)盤:http://www.swpan.cn】 Scrapy框架安裝 1、首先,終端執(zhí)行命令升級pip: python -m pip install --upgrad...

    OnlyMyRailgun 評論0 收藏0
  • 網(wǎng)絡爬蟲介紹

    摘要:什么是爬蟲網(wǎng)絡爬蟲也叫網(wǎng)絡蜘蛛,是一種自動化瀏覽網(wǎng)絡的程序,或者說是一種網(wǎng)絡機器人。 什么是爬蟲 網(wǎng)絡爬蟲也叫網(wǎng)絡蜘蛛,是一種自動化瀏覽網(wǎng)絡的程序,或者說是一種網(wǎng)絡機器人。它們被廣泛用于互聯(lián)網(wǎng)搜索引擎或其他類似網(wǎng)站,以獲取或更新這些網(wǎng)站的內(nèi)容和檢索方式。它們可以自動采集所有其能夠訪問到的頁面內(nèi)容,以供搜索引擎做進一步處理(分檢整理下載的頁面),而使得用戶能更快的檢索到他們需要的信息。簡...

    sf190404 評論0 收藏0
  • 11、web爬蟲講解2Scrapy框架爬蟲Scrapy使用

    摘要:百度云搜索,搜各種資料搜網(wǎng)盤,搜各種資料表達式表示向下查找層指定標簽,如表示查找所有標簽表示向下查找一層指定的標簽表示查找指定屬性的值可以連綴如屬性名稱屬性值表示查找指定屬性等于指定值的標簽可以連綴,如查找名稱等于指定名稱的標簽獲取標簽文本 【百度云搜索,搜各種資料:http://www.lqkweb.com】 【搜網(wǎng)盤,搜各種資料:http://www.swpan.cn】 xpath...

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

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

    Harriet666 評論0 收藏0

發(fā)表評論

0條評論

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