成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專(zhuān)欄INFORMATION COLUMN

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

jay_tian / 849人閱讀

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

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

模擬瀏覽器登錄

start_requests()方法,可以返回一個(gè)請(qǐng)求給爬蟲(chóng)的起始網(wǎng)站,這個(gè)返回的請(qǐng)求相當(dāng)于start_urls,start_requests()返回的請(qǐng)求會(huì)替代start_urls里的請(qǐng)求

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

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

yield Request()可以將一個(gè)新的請(qǐng)求返回給爬蟲(chóng)執(zhí)行

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

獲取Scrapy框架Cookies

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

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

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

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

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

????def?start_requests(self):???????#用start_requests()方法,代替start_urls
????????"""第一次請(qǐng)求一下登錄頁(yè)面,設(shè)置開(kāi)啟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è)置用戶(hù)登錄信息,對(duì)應(yīng)抓包得到字段
????????????"number":"adc8868",
????????????"passwd":"279819",
????????????"submit":""
????????????}

????????#?響應(yīng)Cookie
????????Cookie1?=?response.headers.getlist("Set-Cookie")???#查看一下響應(yīng)Cookie,也就是第一次訪問(wèn)注冊(cè)頁(yè)面時(shí)后臺(tái)寫(xiě)入瀏覽器的Cookie
????????print(Cookie1)

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

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

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

模擬瀏覽器登錄2

第一步、

爬蟲(chóng)的第一次訪問(wèn),一般用戶(hù)登錄時(shí),第一次訪問(wèn)登錄頁(yè)面時(shí),后臺(tái)會(huì)自動(dòng)寫(xiě)入一個(gè)Cookies到瀏覽器,所以我們的第一次主要是獲取到響應(yīng)Cookies

首先訪問(wèn)網(wǎng)站的登錄頁(yè)面,如果登錄頁(yè)面是一個(gè)獨(dú)立的頁(yè)面,我們的爬蟲(chóng)第一次應(yīng)該從登錄頁(yè)面開(kāi)始,如果登錄頁(yè)面不是獨(dú)立的頁(yè)面如 js 彈窗,那么我們的爬蟲(chóng)可以從首頁(yè)開(kāi)始

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

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

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

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

????def?parse(self,?response):
????????#?響應(yīng)Cookies
????????Cookie1?=?response.headers.getlist("Set-Cookie")????????????????????????????#查看一下響應(yīng)Cookie,也就是第一次訪問(wèn)注冊(cè)頁(yè)面時(shí)后臺(tái)寫(xiě)入瀏覽器的Cookie
????????print("后臺(tái)首次寫(xiě)入的響應(yīng)Cookies:",Cookie1)

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

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

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

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

????????print("正在請(qǐng)需要登錄才可以訪問(wèn)的頁(yè)面....!")

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

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

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


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

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/45076.html

相關(guān)文章

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

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

    wemall 評(píng)論0 收藏0
  • 10、web爬蟲(chóng)講解2Scrapy框架爬蟲(chóng)Scrapy安裝—Scrapy指令

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

    OnlyMyRailgun 評(píng)論0 收藏0
  • 網(wǎng)絡(luò)爬蟲(chóng)介紹

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

    sf190404 評(píng)論0 收藏0
  • 11、web爬蟲(chóng)講解2Scrapy框架爬蟲(chóng)Scrapy使用

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

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

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

    Harriet666 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<