您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“用python爬蟲爬取表情包”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
import requests import os from bs4 import BeautifulSoup
還需要有一個 lxml庫 但不需要導(dǎo)入 BeautifulSoup 在 beautifulsoup4 的包下
if not os.path.isdir("./img/"): #如果當(dāng)前目錄下沒有img文件夾 os.mkdir("./img/") #創(chuàng)建img文件夾
headers={ 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0' }
那么為什么要創(chuàng)建請求頭呢,因為在網(wǎng)站訪問的過程中,有大部分網(wǎng)站會對當(dāng)前請求做驗證,來判斷當(dāng)前的請求是否合法(不是使用瀏覽器來獲取網(wǎng)站數(shù)據(jù)的話會被認(rèn)為非法請求)。如果不添加請求頭的話,可能會出現(xiàn)當(dāng)前網(wǎng)站沒有訪問權(quán)限。
提示:請求頭的內(nèi)容可用Burpsuite來抓取
def pa(num): url = 'https://fabiaoqing.com/biaoqing/lists/page/'+str(num)+'.html' #構(gòu)造url rp = requests.get(url,headers).text #請求url 用文本返回 soup = BeautifulSoup(rp,'lxml') #構(gòu)建soup img_list = soup.find_all('img',class_='ui image lazy') #篩選所有img標(biāo)簽 條件為class=xxx for img in img_list: img_url = img['data-original'] #獲取這個屬性的內(nèi)容 img_title = img['title'] print(img_url,img_title) try: with open('img/'+img_title + os.path.splitext(img_url)[-1],'wb') as f: #圖片文件 image = requests.get(img_url).content #請求img_url 以二進制返回 f.write(image) except: pass
for i in range(1,201): #網(wǎng)站有多少頁就設(shè)置多少 pa(i) # 將每一頁的圖片都抓下來
import requests #請求模塊 import os from bs4 import BeautifulSoup #抓取網(wǎng)站內(nèi)容 if not os.path.isdir("./img/"): os.mkdir("./img/") headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0'} #創(chuàng)造頭 def pa(num): url = 'https://fabiaoqing.com/biaoqing/lists/page/'+str(num)+'.html' #構(gòu)造url rp = requests.get(url,headers).text #請求url 用文本返回 soup = BeautifulSoup(rp,'lxml') #構(gòu)建soup img_list = soup.find_all('img',class_='ui image lazy') #篩選所有img標(biāo)簽 條件為class=xxx for img in img_list: img_url = img['data-original'] #獲取這個屬性的內(nèi)容 img_title = img['title'] print(img_url,img_title) try: with open('img/'+img_title + os.path.splitext(img_url)[-1],'wb') as f: image = requests.get(img_url).content #請求img_url 以二進制返回 f.write(image) except: pass for i in range(1,201): pa(i)
“用python爬蟲爬取表情包”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!
免責(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)容。