摘要:百度云搜索,搜各種資料搜網盤,搜各種資料模擬瀏覽器登錄方法,可以返回一個請求給爬蟲的起始網站,這個返回的請求相當于,返回的請求會替代里的請求請求,可以設置,回調函數表單提交,第一個必須參數,上一次響應的對象,其他參數,表單內容等可以將一個新
模擬瀏覽器登錄
start_requests()方法,可以返回一個請求給爬蟲的起始網站,這個返回的請求相當于start_urls,start_requests()返回的請求會替代start_urls里的請求
Request()get請求,可以設置,url、cookie、回調函數
FormRequest.from_response()表單post提交,第一個必須參數,上一次響應cookie的response對象,其他參數,cookie、url、表單內容等
yield Request()可以將一個新的請求返回給爬蟲執行
在發送請求時cookie的操作,
meta={"cookiejar":1}表示開啟cookie記錄,首次請求時寫在Request()里
meta={"cookiejar":response.meta["cookiejar"]}表示使用上一次response的cookie,寫在FormRequest.from_response()里post授權
meta={"cookiejar":True}表示使用授權后的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"???????????????????????????????????????????#設置爬蟲名稱 ????allowed_domains?=?["edu.iqianyue.com"]??????????????????#爬取域名 ????#?start_urls?=?["http://edu.iqianyue.com/index_user_login.html"]?????#爬取網址,只適于不需要登錄的請求,因為沒法設置cookie等信息 ????header?=?{"User-Agent":"Mozilla/5.0?(Windows?NT?10.0;?WOW64;?rv:54.0)?Gecko/20100101?Firefox/54.0"}??#設置瀏覽器用戶代理 ????def?start_requests(self):???????#用start_requests()方法,代替start_urls ????????"""第一次請求一下登錄頁面,設置開啟cookie使其得到cookie,設置回調函數""" ????????return?[Request("http://edu.iqianyue.com/index_user_login.html",meta={"cookiejar":1},callback=self.parse)] ????def?parse(self,?response):?????#parse回調函數 ????????data?=?{????????????????????#設置用戶登錄信息,對應抓包得到字段 ????????????"number":"adc8868", ????????????"passwd":"279819", ????????????"submit":"" ????????????} ????????#?響應Cookie ????????Cookie1?=?response.headers.getlist("Set-Cookie")???#查看一下響應Cookie,也就是第一次訪問注冊頁面時后臺寫入瀏覽器的Cookie ????????print(Cookie1) ????????print("登錄中") ????????"""第二次用表單post請求,攜帶Cookie、瀏覽器代理、用戶登錄信息,進行登錄給Cookie授權""" ????????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) ????????"""登錄后請求需要登錄才能查看的頁面,如個人中心,攜帶授權后的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??#?獲取網頁內容字節類型 ????????unicode_body?=?response.body_as_unicode()??#?獲取網站內容字符串類型 ????????a?=?response.xpath("/html/head/title/text()").extract()??#得到個人中心頁面 ????????print(a)
模擬瀏覽器登錄2
第一步、
爬蟲的第一次訪問,一般用戶登錄時,第一次訪問登錄頁面時,后臺會自動寫入一個Cookies到瀏覽器,所以我們的第一次主要是獲取到響應Cookies
首先訪問網站的登錄頁面,如果登錄頁面是一個獨立的頁面,我們的爬蟲第一次應該從登錄頁面開始,如果登錄頁面不是獨立的頁面如 js 彈窗,那么我們的爬蟲可以從首頁開始
#?-*-?coding:?utf-8?-*- import?scrapy from?scrapy.http?import?Request,FormRequest import?re class?PachSpider(scrapy.Spider):????????????????????????????#定義爬蟲類,必須繼承scrapy.Spider ????name?=?"pach"???????????????????????????????????????????#設置爬蟲名稱 ????allowed_domains?=?["dig.chouti.com"]????????????????????#爬取域名 ????#?start_urls?=?[""]?????????????????????????????????????#爬取網址,只適于不需要登錄的請求,因為沒法設置cookie等信息 ????header?=?{"User-Agent":"Mozilla/5.0?(Windows?NT?10.0;?WOW64;?rv:54.0)?Gecko/20100101?Firefox/54.0"}??#設置瀏覽器用戶代理 ????def?start_requests(self): ????????"""第一次請求一下登錄頁面,設置開啟cookie使其得到cookie,設置回調函數""" ????????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?=?{????????????????????????????????????????????????????????????????????#?設置用戶登錄信息,對應抓包得到字段 ????????????"phone":?"8615284816568", ????????????"password":?"279819", ????????????"oneMonth":?"1" ????????} ????????print("登錄中....!") ????????"""第二次用表單post請求,攜帶Cookie、瀏覽器代理、用戶登錄信息,進行登錄給Cookie授權""" ????????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("登錄響應結果:",jieg) ????????print("正在請需要登錄才可以訪問的頁面....!") ????????"""登錄后請求需要登錄才能查看的頁面,如個人中心,攜帶授權后的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("最終內容",leir) ????????leir2?=?response.xpath("http://div[@class="set-tags"]/a/text()").extract()??#?得到個人中心頁面 ????????print(leir2)
【轉載自:http://www.lqkweb.com】
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/45076.html
摘要:登錄開發者后臺我的軟件獲得軟件軟件密鑰注意這里是普通會員賬號,不是開發者賬號,注冊地址開發者可以聯系客服領取免費調試題分請先設置用戶名密碼一鍵識別函數正在一鍵識別例表示位字母數字,不同類型收費不同。請準確填寫,否則影響識別率。 【百度云搜索:http://www.bdyss.cn】 【搜網盤:http://www.swpan.cn】 打碼接口文件 # -*- coding: cp936...
摘要:負責處理被提取出來的。典型的處理有清理驗證及持久化例如存取到數據庫知識庫項目的設置文件實現自定義爬蟲的目錄中間件是在引擎及之間的特定鉤子,處理的輸入和輸出及。 【百度云搜索:http://www.bdyss.com】 【搜網盤:http://www.swpan.cn】 Scrapy框架安裝 1、首先,終端執行命令升級pip: python -m pip install --upgrad...
摘要:百度云搜索,搜各種資料搜網盤,搜各種資料表達式表示向下查找層指定標簽,如表示查找所有標簽表示向下查找一層指定的標簽表示查找指定屬性的值可以連綴如屬性名稱屬性值表示查找指定屬性等于指定值的標簽可以連綴,如查找名稱等于指定名稱的標簽獲取標簽文本 【百度云搜索,搜各種資料:http://www.lqkweb.com】 【搜網盤,搜各種資料:http://www.swpan.cn】 xpath...
摘要:時間永遠都過得那么快,一晃從年注冊,到現在已經過去了年那些被我藏在收藏夾吃灰的文章,已經太多了,是時候把他們整理一下了。那是因為收藏夾太亂,橡皮擦給設置私密了,不收拾不好看呀。 ...
閱讀 1195·2021-09-22 15:24
閱讀 2295·2019-08-30 15:44
閱讀 2623·2019-08-30 10:55
閱讀 3362·2019-08-29 13:25
閱讀 1644·2019-08-29 13:09
閱讀 1401·2019-08-26 14:05
閱讀 1395·2019-08-26 13:58
閱讀 1988·2019-08-26 11:57