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

資訊專欄INFORMATION COLUMN

爬蟲requests模塊 入門到入獄 :基礎(chǔ)知識(shí)+實(shí)戰(zhàn)分析

yagami / 1277人閱讀

??????
???Hello,大家好我叫是Dream呀,一個(gè)有趣的Python博主,小白一枚,多多關(guān)照???
???CSDN Python領(lǐng)域新星創(chuàng)作者,大二在讀,歡迎大家找我合作學(xué)習(xí)
?入門須知:這片樂園從不缺乏天才,努力才是你的最終入場(chǎng)券!???
?最后,愿我們都能在看不到的地方閃閃發(fā)光,一起加油進(jìn)步???
???“一萬次悲傷,依然會(huì)有Dream,我一直在最溫暖的地方等你”,唱的就是我!哈哈哈~???
??????

前言:requests庫(kù)其實(shí)和urllib庫(kù)是差不多的,但是urllib庫(kù)的話有點(diǎn)過時(shí)了,所以說一般都是用的request庫(kù),下面一起來學(xué)習(xí)一下吧

一、基本使用

1.使用文檔

官方文檔
http://cn.python‐requests.org/zh_CN/latest/

快速上手
http://cn.python‐requests.org/zh_CN/latest/user/quickstart.html

2.安裝

pip install requests

安裝成功后會(huì)有successfully的提示,已安裝會(huì)有Requirement already satisfied的提示:

3.response的屬性以及類型

1.類型

```htmlimport requestsurl = "https://www.baidu.com/"response = requests.get(url = url)# 一種類型 六個(gè)屬性# Response類型print(type(response))
<class "requests.models.Response">

2.以字符串形式來返回網(wǎng)頁的源碼

# 以字符串形式來返回網(wǎng)頁的源碼print(response.text)

3.返回一個(gè)url地址

# 返回一個(gè)url地址print(response.url)
https://www.baidu.com/

4.返回的是二進(jìn)制數(shù)據(jù)

# 返回的是二進(jìn)制數(shù)據(jù)print(response.content)


5.返回響應(yīng)的狀態(tài)碼

# 返回響應(yīng)的狀態(tài)碼print(response.status_code)
200

6.返回的是響應(yīng)頭

# 返回的是響應(yīng)頭print(response.headers)

二、簡(jiǎn)單對(duì)比urllib和requests

1.urllib

# (1)一個(gè)類型以及六個(gè)方法# (2)get請(qǐng)求# (3)post請(qǐng)求  百度翻譯# (4)ajsx的get請(qǐng)求# (5)ajax的post請(qǐng)求# (6)cookie登錄 微博# (7)代理

2.requests

# (1)一個(gè)類型 六個(gè)屬性# (2)get請(qǐng)求# (3)post請(qǐng)求# (4)代理# (5)cookie 驗(yàn)證碼

三、requests方法應(yīng)用

1.requests的get請(qǐng)求

(1)請(qǐng)求百度界面

import requestsurl = "https://www.baidu.com/s"headers={    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36"}data = {    "wd": "北京"}# url 請(qǐng)求資源路徑# params 參數(shù)# kwargs 字典response = requests.get(url=url, params=data, headers=headers)content = response.textprint(content)

(2)特點(diǎn)總結(jié)

1.參數(shù)使用params傳遞
2.參數(shù)無需urlencode編碼
3.無需請(qǐng)求對(duì)象定制
4.請(qǐng)求資源路徑中的?可以加也可以不加

2.requests的post請(qǐng)求

(1)請(qǐng)求百度翻譯

# -*-coding:utf-8 -*-# @Author:到點(diǎn)了,心疼徐哥哥# 奧利給干!!!import requestsimport jsonurl = "https://fanyi.baidu.com/sug"headers={    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36"}data = {    "kw":"eye"}# url請(qǐng)求地址# data請(qǐng)求參數(shù)# kwargs 字典response = requests.post(url=url, data=data, headers=headers)content = response.textprint(content)obj = json.loads(content,encoding="utf-8")print(obj)

(2)特點(diǎn)總結(jié)

1.post請(qǐng)求不需要編解碼
2.post請(qǐng)求的參數(shù)是data
3.不需要請(qǐng)求對(duì)象的定制

3.requests的cookie代理

(1)登錄古詩(shī)文網(wǎng)

1.打開古詩(shī)文網(wǎng):
古詩(shī)文網(wǎng)

2.登錄界面:

# 登錄界面url = "https://so.gushiwen.cn/user/login.aspx?from=http://so.gushiwen.cn/user/collect.aspx"headers={    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36"}

3.獲取頁面的源碼

# 獲取頁面的源碼:response = requests.get(url=url,headers=headers)content = response.text

4.解析頁面源碼,然后獲取’__VIEWSTATE’和’__VIEWSTATEGENERATOR’

# 解析頁面源碼,然后獲取"__VIEWSTATE"和"__VIEWSTATEGENERATOR"from bs4 import BeautifulSoupsoup = BeautifulSoup(content,"lxml")# 獲取"__VIEWSTATE"viewstate = soup.select("#__VIEWSTATE")[0].attrs.get("value")# 獲取"__VIEWSTATEGENERATOR"viestategener = soup.select("#__VIEWSTATEGENERATOR")[0].attrs.get("value")

5.獲取驗(yàn)證碼圖片

# 獲取驗(yàn)證碼圖片code = soup.select("#imgCode")[0].attrs.get("src")code_url ="	https://so.gushiwen.cn"+code

6.獲取圖片驗(yàn)證碼后,保存到本地,然后觀察驗(yàn)證碼進(jìn)行輸入。

# 獲取圖片驗(yàn)證碼后,保存到本地,然后觀察驗(yàn)證碼進(jìn)行輸入。# requests里面有一個(gè)session()方法,通過session的返回值 就能使用請(qǐng)求變成一個(gè)對(duì)象session = requests.session()# 驗(yàn)證碼的url的內(nèi)容response_code = session.get(code_url)# 注意此時(shí)要使用二進(jìn)制數(shù)據(jù)content_code = response_code.content# wb的模式就是將二進(jìn)制數(shù)據(jù)寫入文件with open("code.jpg","wb")as fp:    fp.write(content_code)code_name = input("請(qǐng)輸入你的驗(yàn)證碼:")

7.點(diǎn)擊登錄

url_post = "https://so.gushiwen.cn/user/login.aspx?from=http%3a%2f%2fso.gushiwen.cn%2fuser%2fcollect.aspx"data_post = {    "__VIEWSTATE":viewstate ,    "__VIEWSTATEGENERATOR":viestategener ,    "from": "http://so.gushiwen.cn/user/collect.aspx",    "email": "18300396393",    "pwd": "20020102XYPxyp",    "code": code_name,    "denglu":"登錄",}response_post = session.post(url=url,headers=headers,data=data_post)content_post = response_post.textwith open("gushiwen.html","w",encoding="utf-8") as fp:    fp.write(content_post)

8.獲取動(dòng)態(tài)驗(yàn)證碼

9.打開得到的網(wǎng)站:

進(jìn)入:

成功撒花!

(2)難點(diǎn)

1.隱藏域
2.驗(yàn)證碼

四、自動(dòng)識(shí)別驗(yàn)證碼

1.首先找到超級(jí)鷹網(wǎng)站:

超級(jí)鷹

可用賬號(hào)及密碼: 賬號(hào):action 密碼:action

2.然后在開發(fā)文檔中找到Python:


進(jìn)入之后進(jìn)行Python語言Demo下載。

3.修改代碼

將下載好的Demo放入我們我們的工程文件中去,觀察其代碼:
1.將此處換成我們的用戶名和代碼

2.按照提示來替換我們的id:

3.生成我們自己的一個(gè)軟件id:

4.最后在print后面加上(),就可以啦!
5.由于返回字典,就可以通過鍵值對(duì)對(duì)應(yīng)關(guān)系,找到我們的驗(yàn)證碼的值了:

4.源碼分享:

#!/usr/bin/env python# coding:utf-8import requestsfrom hashlib import md5class Chaojiying_Client(object):    def __init__(self, username, password, soft_id):        self.username = username        password =  password.encode("utf8")        self.password = md5(password).hexdigest()        self.soft_id = soft_id        self.base_params = {            "user": self.username,            "pass2": self.password,            "softid": self.soft_id,        }        self.headers = {            "Connection": "Keep-Alive",            "User-Agent": "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)",        }    def PostPic(self, im, codetype):        """        im: 圖片字節(jié)        codetype: 題目類型 參考 http://www.chaojiying.com/price.html        """        params = {            "codetype": codetype,        }        params.update(self.base_params)        files = {"userfile": ("ccc.jpg", im)}        r = requests.post("http://upload.chaojiying.net/Upload/Processing.php", data=params, files=files, headers=self.headers)        return r.json()    def ReportError(self, im_id):        """        im_id:報(bào)錯(cuò)題目的圖片ID        """        params = {            "id": im_id,        }        params.update(self.base_params)        r = requests.post("http://upload.chaojiying.net/Upload/ReportError.php", data=params, headers=self.headers)        return r.json()if __name__ == "__main__":	chaojiying = Chaojiying_Client("action", "action", "925358")	#用戶中心>>軟件ID 生成一個(gè)替換 96001	im = open("a.jpg", "rb").read()													#本地圖片文件路徑 來替換 a.jpg 有時(shí)WIN系統(tǒng)須要//	print(chaojiying.PostPic(im, 1902).get("pic_str"))										#1902 驗(yàn)證碼類型  官方網(wǎng)站>>價(jià)格體系 3.4+版 print 后要加()

??往期文章推薦??:

Python爬蟲?? Urllib用法合集——?一鍵輕松入門爬蟲?

爬蟲中的戀愛學(xué)心理你get了嗎?一杯星巴克溫暖你的整個(gè)冬天——爬蟲bs4解析從入門到入坑

??1024不孤單!??Xpath爬蟲——你最忠實(shí)的伴侶:老規(guī)矩給我一分鐘,萬字教你入手Xpath!?

Python爬蟲實(shí)戰(zhàn)?? 從零開始分析頁面,抓取數(shù)據(jù)——爬取豆瓣電影任意頁數(shù) 看不懂你來找我!??

天青色等煙雨 爬蟲在等你??post請(qǐng)求?cookie登錄?handler處理器?

??? 好啦,這就是今天要分享給大家的全部?jī)?nèi)容了
??????如果你喜歡的話,就不要吝惜你的一鍵三連了~

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

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

相關(guān)文章

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

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

    Harriet666 評(píng)論0 收藏0
  • Python爬蟲入門教程 2-100 妹子圖網(wǎng)站爬取

    摘要:為了寫好爬蟲,我們需要準(zhǔn)備一個(gè)火狐瀏覽器,還需要準(zhǔn)備抓包工具,抓包工具,我使用的是自帶的,加上,這兩款軟件的安裝和使用,建議你還是學(xué)習(xí)一下,后面我們應(yīng)該會(huì)用到。 妹子圖網(wǎng)站----前言 從今天開始就要擼起袖子,直接寫Python爬蟲了,學(xué)習(xí)語言最好的辦法就是有目的的進(jìn)行,所以,接下來我將用10+篇的博客,寫爬圖片這一件事情。希望可以做好。 為了寫好爬蟲,我們需要準(zhǔn)備一個(gè)火狐瀏覽器,還需...

    zqhxuyuan 評(píng)論0 收藏0
  • Python爬蟲入門教程 2-100 妹子圖網(wǎng)站爬取

    摘要:為了寫好爬蟲,我們需要準(zhǔn)備一個(gè)火狐瀏覽器,還需要準(zhǔn)備抓包工具,抓包工具,我使用的是自帶的,加上,這兩款軟件的安裝和使用,建議你還是學(xué)習(xí)一下,后面我們應(yīng)該會(huì)用到。 妹子圖網(wǎng)站----前言 從今天開始就要擼起袖子,直接寫Python爬蟲了,學(xué)習(xí)語言最好的辦法就是有目的的進(jìn)行,所以,接下來我將用10+篇的博客,寫爬圖片這一件事情。希望可以做好。 為了寫好爬蟲,我們需要準(zhǔn)備一個(gè)火狐瀏覽器,還需...

    stackfing 評(píng)論0 收藏0
  • Python爬蟲學(xué)習(xí)路線

    摘要:以下這些項(xiàng)目,你拿來學(xué)習(xí)學(xué)習(xí)練練手。當(dāng)你每個(gè)步驟都能做到很優(yōu)秀的時(shí)候,你應(yīng)該考慮如何組合這四個(gè)步驟,使你的爬蟲達(dá)到效率最高,也就是所謂的爬蟲策略問題,爬蟲策略學(xué)習(xí)不是一朝一夕的事情,建議多看看一些比較優(yōu)秀的爬蟲的設(shè)計(jì)方案,比如說。 (一)如何學(xué)習(xí)Python 學(xué)習(xí)Python大致可以分為以下幾個(gè)階段: 1.剛上手的時(shí)候肯定是先過一遍Python最基本的知識(shí),比如說:變量、數(shù)據(jù)結(jié)構(gòu)、語法...

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

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

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<