欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

如何使用python爬蟲(chóng)爬取要登陸的網(wǎng)站

 更新時(shí)間:2019年07月12日 08:59:45   作者:千鋒Python唐唐君  
這篇文章主要介紹了如何使用python爬蟲(chóng)爬取要登陸的網(wǎng)站,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

你好

由于你是游客

無(wú)法查看本文

請(qǐng)你登錄再進(jìn)

謝謝合作。。。。。


當(dāng)你在爬某些網(wǎng)站的時(shí)候

需要你登錄才可以獲取數(shù)據(jù)

咋整?

莫慌

把這幾招傳授給你

讓你以后從容應(yīng)對(duì)

登錄的常見(jiàn)方法無(wú)非是這兩種

1、讓你輸入帳號(hào)和密碼登錄

2、讓你輸入帳號(hào)密碼+驗(yàn)證碼登錄


今天

先跟你說(shuō)說(shuō)第一種

需要驗(yàn)證碼的咱們下一篇再講

第一招


Cookie大法

你平常在上某個(gè)不為人知的網(wǎng)站的時(shí)候

是不是發(fā)現(xiàn)你只要登錄一次

就可以一直看到你想要的內(nèi)容

過(guò)了一陣子才需要再次登錄

這就是因?yàn)?Cookie 在做怪

簡(jiǎn)單來(lái)說(shuō)

就是每一個(gè)使用這個(gè)網(wǎng)站的人

服務(wù)器都會(huì)給他一個(gè) Cookie

那么下次你再請(qǐng)求數(shù)據(jù)的時(shí)候

你順帶把這個(gè) Cookie 傳過(guò)去

服務(wù)器一看

誒,小伙子是老客戶啊

有登錄過(guò)

直接返回?cái)?shù)據(jù)給他吧

在服務(wù)中還可以設(shè)置 Cookie 的有效時(shí)間

也就是說(shuō)

當(dāng)你下次攜帶一個(gè)過(guò)期了的 Cookie 給服務(wù)器的時(shí)候

服務(wù)器雖然知道你是老客戶

但是還是需要你重新再登錄一次

然后再給你一個(gè)有效的 Cookie

Cookie 的時(shí)長(zhǎng)周期是服務(wù)器那邊定的

ok

了解了這一點(diǎn)之后

我們就來(lái)玩一下吧

我們以「逼乎」為例

https://biihu.cc/account/login/

輸入地址之后

按一下 F12

點(diǎn)擊 network 標(biāo)簽

然后登錄你的帳號(hào)

然后點(diǎn)擊其中一個(gè)

你就可以看到在 Request Headers 有你的 Cookie


有了 Cookie 之后

我們?cè)诖a中直接獲取我的個(gè)人信息

import requests
headers = {
 # 假裝自己是瀏覽器
 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/73.0.3683.75 Chrome/73.0.3683.75 Safari/537.36',
 # 把你剛剛拿到的Cookie塞進(jìn)來(lái)
 'Cookie': 'eda38d470a662ef3606390ac3b84b86f9; Hm_lvt_f1d3b035c559e31c390733e79e080736=1553503899; biihu__user_login=omvZVatKKSlcXbJGmXXew9BmqediJ4lzNoYGzLQjTR%2Fjw1wOz3o4lIacanmcNncX1PsRne5tXpE9r1sqrkdhAYQrugGVfaBICYp8BAQ7yBKnMpAwicq7pZgQ2pg38ZzFyEZVUvOvFHYj3cChZFEWqQ%3D%3D; Hm_lpvt_f1d3b035c559e31c390733e79e080736=1553505597',
}
session = requests.Session()
response = session.get('https://biihu.cc/people/wistbean%E7%9C%9F%E7%89%B9%E4%B9%88%E5%B8%85', headers=headers)
print(response.text)

運(yùn)行后可以發(fā)現(xiàn)不用登錄就可以直接拿到自己的個(gè)人信息了

<!DOCTYPE html>
<html>
<head>
<meta content="text/html;charset=utf-8" http-equiv="Content-Type" />
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" name="viewport" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,Chrome=1" />
<meta name="renderer" content="webkit" />
<title>小帥b真特么帥 的個(gè)人主頁(yè) - 逼乎</title>
<meta name="keywords" content="逼乎,問(wèn)答,裝逼,逼乎網(wǎng)站" />
<meta name="description" content="逼乎 ,與世界分享你的裝逼技巧與見(jiàn)解" />
<base  rel="external nofollow" /><!--[if IE]></base><![endif]-->
<link rel="stylesheet" type="text/css"  rel="external nofollow" />
<link rel="stylesheet" type="text/css"  rel="external nofollow" />
<link  rel="external nofollow" rel="stylesheet" type="text/css" />
<link  rel="external nofollow" rel="stylesheet" type="text/css" />
<link  rel="external nofollow" rel="stylesheet" type="text/css" />
<link  rel="external nofollow" rel="stylesheet" type="text/css" />
<link  rel="external nofollow" rel="stylesheet" type="text/css" />
<script type="text/javascript">
 var _02AEC94D5CA08B39FC0E1F7CC220F9B4="a5359326797de302bfc9aa6302c001b8";
 var G_POST_HASH=_02AEC94D5CA08B39FC0E1F7CC220F9B4;
 var G_INDEX_SCRIPT = "";
 var G_SITE_NAME = "逼乎";
 var G_BASE_URL = "https://biihu.cc";
 var G_STATIC_URL = "https://biihu.cc/static";
 var G_UPLOAD_URL = "/uploads";
 var G_USER_ID = "188";
 var G_USER_NAME = "666";
 var G_UPLOAD_ENABLE = "Y";
 var G_UNREAD_NOTIFICATION = 0;
 var G_NOTIFICATION_INTERVAL = 100000;
 var G_CAN_CREATE_TOPIC = "1";
 var G_ADVANCED_EDITOR_ENABLE = "Y";
 var FILE_TYPES = "jpg,jpeg,png,gif,zip,doc,docx,rar,pdf,psd";
</script>
<script src="https://biihu.cc/static/js/jquery.2.js?v=20180831" type="text/javascript"></script>

第二招


表單請(qǐng)求大法

很簡(jiǎn)單

就是通過(guò)抓包

獲取請(qǐng)求登錄的時(shí)候需要用到的用戶名密碼參數(shù)

然后以表單的形式請(qǐng)求服務(wù)器

如果你細(xì)心一點(diǎn)的話應(yīng)該會(huì)知道之前說(shuō)過(guò)拉

具體在這

去看下

我就不多說(shuō)了

第三招


Selenium 自動(dòng)登錄法

獲取到兩個(gè)輸入框的元素

再獲取到登錄按鈕

往輸入框?qū)懩愕膸ぬ?hào)密碼

然后自動(dòng)點(diǎn)擊一下登錄

username = WAIT.until(EC.presence_of_element_located((By.CSS_SELECTOR, "帳號(hào)的selector")))
password = WAIT.until(EC.presence_of_element_located((By.CSS_SELECTOR, "密碼的selector")))
submit = WAIT.until(EC.element_to_be_clickable((By.XPATH, '按鈕的xpath')))
username.send_keys('你的帳號(hào)')
password.send_keys('你的密碼')
submit.click()

登錄完之后拿到 Cookie

cookies = webdriver.get_cookies()

有了 Cookie 你就可以拿到你想要的數(shù)據(jù)了,希望對(duì)你有幫助

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論