摘要:爬蟲(chóng)實(shí)戰(zhàn)一使用和,我們使用了做網(wǎng)絡(luò)請(qǐng)求,拿到網(wǎng)頁(yè)數(shù)據(jù)再用解析,就在前不久,作者出了一個(gè)新庫(kù),,它可以用于解析文檔的。是基于現(xiàn)有的框架等庫(kù)進(jìn)行了二次封裝,更加方便開(kāi)發(fā)者調(diào)用。參考今天用了一下庫(kù)爬蟲(chóng)公眾號(hào)我的公眾號(hào)吳小龍同學(xué),歡迎交流
Python 爬蟲(chóng)實(shí)戰(zhàn)(一):使用 requests 和 BeautifulSoup,我們使用了 requests 做網(wǎng)絡(luò)請(qǐng)求,拿到網(wǎng)頁(yè)數(shù)據(jù)再用 BeautifulSoup 解析,就在前不久,requests 作者 kennethreitz 出了一個(gè)新庫(kù) requests-html,Pythonic HTML Parsing for Humans?,它可以用于解析 HTML 文檔的。requests-html 是基于現(xiàn)有的框架 PyQuery、Requests、lxml 等庫(kù)進(jìn)行了二次封裝,更加方便開(kāi)發(fā)者調(diào)用。
安裝Mac:
pip3 install requests-html
Windows:
pip install requests-html實(shí)例
代碼擼多了,讓我們看會(huì)妹紙,爬的網(wǎng)站我選的是 http://www.win4000.com/zt/xin... ,打開(kāi)網(wǎng)站,觀察到這是個(gè)列表,圖片是縮略圖,要想保存圖片到本地,當(dāng)然需要高清大圖,因此得進(jìn)入列表詳情,進(jìn)一步解析,完整代碼如下:
from requests_html import HTMLSession import requests import time session = HTMLSession() # 解析圖片列表 def get_girl_list(): # 返回一個(gè) response 對(duì)象 response = session.get("http://www.win4000.com/zt/xinggan.html") # 單位秒數(shù) content = response.html.find("div.Left_bar", first=True) li_list = content.find("li") for li in li_list: url = li.find("a", first=True).attrs["href"] get_girl_detail(url) # 解析圖片詳細(xì) def get_girl_detail(url): # 返回一個(gè) response 對(duì)象 response = session.get(url) # 單位秒數(shù) content = response.html.find("div.scroll-img-cont", first=True) li_list = content.find("li") for li in li_list: img_url = li.find("img", first=True).attrs["data-original"] img_url = img_url[0:img_url.find("_")] + ".jpg" print(img_url + ".jpg") save_image(img_url) # 保持大圖 def save_image(img_url): img_response = requests.get(img_url) t = int(round(time.time() * 1000)) # 毫秒級(jí)時(shí)間戳 f = open("/Users/wuxiaolong/Desktop/Girl/%d.jpg" % t, "ab") # 存儲(chǔ)圖片,多媒體文件需要參數(shù)b(二進(jìn)制文件) f.write(img_response.content) # 多媒體存儲(chǔ)content f.close() if __name__ == "__main__": get_girl_list()
代碼就這么多,是不是感覺(jué)很簡(jiǎn)單啊。
說(shuō)明:
1、requests-html 與 BeautifulSoup 不同,可以直接通過(guò)標(biāo)簽來(lái) find,一般如下:
標(biāo)簽
標(biāo)簽.someClass
標(biāo)簽#someID
標(biāo)簽[target=_blank]
參數(shù) first 是 True,表示只返回 Element 找到的第一個(gè),更多使用:http://html.python-requests.org/ ;
2、這里保存本地路徑 /Users/wuxiaolong/Desktop/Girl/我寫(xiě)死了,需要讀者改成自己的,如果直接是文件名,保存路徑將是項(xiàng)目目錄下。
遺留問(wèn)題示例所爬網(wǎng)站是分頁(yè)的,沒(méi)有做,可以定時(shí)循環(huán)來(lái)爬妹紙哦,有興趣的讀者自己玩下。
參考requests-html
今天用了一下Requests-HTML庫(kù)(Python爬蟲(chóng))
公眾號(hào)我的公眾號(hào):吳小龍同學(xué),歡迎交流~
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/44624.html
摘要:時(shí)間永遠(yuǎn)都過(guò)得那么快,一晃從年注冊(cè),到現(xiàn)在已經(jīng)過(guò)去了年那些被我藏在收藏夾吃灰的文章,已經(jīng)太多了,是時(shí)候把他們整理一下了。那是因?yàn)槭詹貖A太亂,橡皮擦給設(shè)置私密了,不收拾不好看呀。 ...
摘要:目標(biāo)站點(diǎn)分析本次要采集的目標(biāo)網(wǎng)站為,目標(biāo)站點(diǎn)描述為全球名站。由于上述代碼太少了,完全不夠今日代碼量,我們順手將其修改為多線程形式。 本篇博客是《爬蟲(chóng) 120 例》的...
摘要:提升倍雖是我胡謅的數(shù)據(jù),開(kāi)發(fā)效率的提升卻是杠杠滴。而卻不同,它提供了官方中文文檔,其中包括了很清晰的快速上手和詳盡的高級(jí)用法和接口指南。其他更多詳細(xì)內(nèi)容不多說(shuō)了,中文官網(wǎng)地址,順著看一遍,寫(xiě)一遍,你就掌握這個(gè)爬蟲(chóng)神器了。 他叫 Kenneth Reitz。現(xiàn)就職于知名云服務(wù)提供商 DigitalOcean,曾是云計(jì)算平臺(tái) Heroku 的 Python 架構(gòu)師,目前 Github 上 ...
摘要:楚江數(shù)據(jù)是專業(yè)的互聯(lián)網(wǎng)數(shù)據(jù)技術(shù)服務(wù),現(xiàn)整理出零基礎(chǔ)如何學(xué)爬蟲(chóng)技術(shù)以供學(xué)習(xí),。本文來(lái)源知乎作者路人甲鏈接楚江數(shù)據(jù)提供網(wǎng)站數(shù)據(jù)采集和爬蟲(chóng)軟件定制開(kāi)發(fā)服務(wù),服務(wù)范圍涵蓋社交網(wǎng)絡(luò)電子商務(wù)分類信息學(xué)術(shù)研究等。 楚江數(shù)據(jù)是專業(yè)的互聯(lián)網(wǎng)數(shù)據(jù)技術(shù)服務(wù),現(xiàn)整理出零基礎(chǔ)如何學(xué)爬蟲(chóng)技術(shù)以供學(xué)習(xí),http://www.chujiangdata.com。 第一:Python爬蟲(chóng)學(xué)習(xí)系列教程(來(lái)源于某博主:htt...
摘要:以下這些項(xiàng)目,你拿來(lái)學(xué)習(xí)學(xué)習(xí)練練手。當(dāng)你每個(gè)步驟都能做到很優(yōu)秀的時(shí)候,你應(yīng)該考慮如何組合這四個(gè)步驟,使你的爬蟲(chóng)達(dá)到效率最高,也就是所謂的爬蟲(chóng)策略問(wèn)題,爬蟲(chóng)策略學(xué)習(xí)不是一朝一夕的事情,建議多看看一些比較優(yōu)秀的爬蟲(chóng)的設(shè)計(jì)方案,比如說(shuō)。 (一)如何學(xué)習(xí)Python 學(xué)習(xí)Python大致可以分為以下幾個(gè)階段: 1.剛上手的時(shí)候肯定是先過(guò)一遍Python最基本的知識(shí),比如說(shuō):變量、數(shù)據(jù)結(jié)構(gòu)、語(yǔ)法...
閱讀 3265·2021-11-24 10:30
閱讀 1380·2021-09-30 09:56
閱讀 2481·2021-09-07 10:20
閱讀 2672·2021-08-27 13:10
閱讀 782·2019-08-30 11:11
閱讀 2122·2019-08-29 12:13
閱讀 815·2019-08-26 12:24
閱讀 2988·2019-08-26 12:20