本篇內(nèi)容介紹了“用python爬蟲爬取表情包”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!
創(chuàng)新互聯(lián)公司專注于商水企業(yè)網(wǎng)站建設(shè),自適應(yīng)網(wǎng)站建設(shè),商城網(wǎng)站建設(shè)。商水網(wǎng)站建設(shè)公司,為商水等地區(qū)提供建站服務(wù)。全流程按需網(wǎng)站建設(shè),專業(yè)設(shè)計,全程項目跟蹤,創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)
import requests import os from bs4 import BeautifulSoup
還需要有一個 lxml庫 但不需要導(dǎo)入 BeautifulSoup 在 beautifulsoup4 的包下
if not os.path.isdir("./img/"): #如果當前目錄下沒有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)站會對當前請求做驗證,來判斷當前的請求是否合法(不是使用瀏覽器來獲取網(wǎng)站數(shù)據(jù)的話會被認為非法請求)。如果不添加請求頭的話,可能會出現(xiàn)當前網(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標簽 條件為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標簽 條件為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)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!