您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“怎么用requests爬取漂亮照片”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“怎么用requests爬取漂亮照片”吧!
selenium是什么?
selenium自動化瀏覽器。就是這樣!你如何運用這種力量完全取決于你自己。它主要用于自動化web應(yīng)用程序以進行測試,但當(dāng)然不限于此。無聊的基于web的管理任務(wù)也可以(也應(yīng)該)自動化。
一些大型瀏覽器廠商已經(jīng)(或正在)采取措施使Selenium成為其瀏覽器的本地部分,這些廠商支持Selenium。它也是無數(shù)其他瀏覽器自動化工具、api和框架的核心技術(shù)。
可以說selenium的本職工作并不是用來爬蟲的,而是用于自動化Web應(yīng)用程序的測試目的。所以用selenium來爬知乎上面的圖其實是一種比較劍走偏鋒的做法,這也解釋為了為什么爬取量不是很樂觀。
什么是Requests
來看看 Requests的文檔:Requests 唯一的一個非轉(zhuǎn)基因的 Python HTTP 庫,人類可以安全享用。警告:非專業(yè)使用其他 HTTP 庫會導(dǎo)致危險的副作用,包括:安全缺陷癥、冗余代碼癥、重新發(fā)明輪子癥、啃文檔癥、抑郁、頭疼、甚至死亡。
從這個幽默的介紹中,不難看出來Requests作者對于Requests非常有自信,我們用Requests爬知乎圖片也剛好驗證了這一點。
我們按照慣例簡要說明一下爬蟲步驟:
如上圖所示,我們需要的id就在紅色框線里面。
核心代碼:
get_url = 'https://www.zhihu.com/api/v4/questions/'+id+'/answers?include=data[*].is_normal,admin_closed_comment,reward_info,is_collapsed,annotation_action,annotation_detail,collapse_reason,is_sticky,collapsed_by,suggest_edit,comment_count,can_comment,content,editable_content,voteup_count,reshipment_settings,comment_permission,created_time,updated_time,review_info,relevant_info,question,excerpt,relationship.is_authorized,is_author,voting,is_thanked,is_nothelp;data[*].mark_infos[*].url;data[*].author.follower_count,badge[*].topics&limit=5&offset='+str(offset)+'&sort_by=default'
header = {
'User-Agent': "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:34.0) Gecko/20100101 Firefox/34.0",
'Host': "www.zhihu.com",
}
r = requests.get(get_url, verify=False, headers=header)
content = r.content.decode("utf-8")
txt = json.loads(content)
我們把網(wǎng)頁信息解析到了txt中。
核心代碼:
imgUrls = re.findall(r'data-original="([^"]+)"', str(txt))imgUrls = list(set(imgUrls))for imgUrl in imgUrls: try: splitPath = imgUrl.split('.') fTail = splitPath.pop() print(fTail) if len(fTail) > 3 : fTail = 'jpg' fileName = path +"/" + str(number) + "."+fTail img_data = urllib.request.urlopen(imgUrl).read()
在獲取txt后,我們需要用正則表達式匹配圖片的地址,然后根據(jù)這個地址下載圖片到本地。
到此,相信大家對“怎么用requests爬取漂亮照片”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。