本篇內(nèi)容主要講解“如何用scrapy框架來登錄人人網(wǎng)”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“如何用scrapy框架來登錄人人網(wǎng)”吧!
目前創(chuàng)新互聯(lián)公司已為上千多家的企業(yè)提供了網(wǎng)站建設(shè)、域名、雅安服務(wù)器托管、網(wǎng)站托管、服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計(jì)、新興網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
寫爬蟲之前必要的分析
上圖就是我們的人人網(wǎng)了,通常我們想要去登錄一個(gè)網(wǎng)站,有兩種思路:①通過抓包工具來抓取post數(shù)據(jù),看看里面有沒有表單,然后提交表單來進(jìn)行登錄 ②通過觀察分析網(wǎng)頁html源碼來找到form表單標(biāo)簽并且找到相關(guān)的提交參數(shù)。
經(jīng)過我的分析,我用F12看了一下抓包數(shù)據(jù),是沒有發(fā)現(xiàn)post數(shù)據(jù)的(大家可以自己去看一下),竟然這個(gè)行不通,我們就直接查看源代碼!
從我打箭頭的地方可以看到,我們需要傳送賬戶和密碼信息的網(wǎng)址是http://www.renren.com/PLogin.do ,然后我們需要傳送兩個(gè)參數(shù)email和password。
當(dāng)我們提交這兩個(gè)參數(shù)過去時(shí),如果登錄成功會(huì)返回一個(gè)登錄成功界面的源代碼,我們就通過這個(gè)源代碼來判斷是否登錄成功!
分析完啦,開始寫代碼
前面的創(chuàng)建爬蟲項(xiàng)目和文件等操作我就不多提了,不會(huì)的朋友可以去看我前面寫的文章。
我先直接甩代碼給大家了,老規(guī)矩,解釋寫在代碼注釋里了!
loginrr.py:
# -*- coding: utf-8 -*-
import scrapy
from scrapy.http import Request,FormRequest
class LoginrrSpider(scrapy.Spider):
name = 'loginrr'
allowed_domains = ['renren.com']
start_urls = ['http://renren.com/']
headers = {
'User-Agent':
'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'
}
# 這里我們先編寫start_requests方法(會(huì)首先執(zhí)行)
def start_requests(self):
# 首先訪問一遍登錄頁面(在這里我們可以監(jiān)測有無驗(yàn)證碼,若有則需要添加驗(yàn)證碼字段,若無則不需要)
# 然后回調(diào)parse方法
# 設(shè)置meta參數(shù),將cookiejar設(shè)置為1,表示cookjar開啟
return [Request("http://www.renren.com/PLogin.do", meta={"cookiejar": 1}, callback=self.parse)]
def parse(self, response):
# 需要發(fā)送的表單,這次沒有驗(yàn)證碼
data = {
# 這里輸入你們自己的賬號(hào)密碼
'email': 'xxxxxx',
'password': 'xxxxxxxx'
}
print("正在登陸...")
# 通過 FormRequest.from_response方法來進(jìn)行登錄
return [FormRequest.from_response(response,
# 設(shè)置cookie信息
meta={"cookiejar": response.meta["cookiejar"]},
headers=self.headers,
formdata=data,
# 回調(diào)到next方法
callback=self.next,
)]
def next(self, response):
# 打印登錄成功后的界面源代碼
print(response.body)
大家需要注意,在運(yùn)行之間需要設(shè)置setting.py文件,將ROBOTSTXT_OBEY 設(shè)置為 False
運(yùn)行結(jié)果:
到此,相信大家對“如何用scrapy框架來登錄人人網(wǎng)”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
網(wǎng)站標(biāo)題:?如何用scrapy框架來登錄人人網(wǎng)
文章位置:http://aaarwkj.com/article32/igepsc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計(jì)公司、面包屑導(dǎo)航、Google、云服務(wù)器、商城網(wǎng)站、動(dòng)態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)