爬取斗图王图片
'''下方的庫使用前需要進行安裝操作
安裝方法:
1.打開 cmd(命令提示符)win10系統(tǒng)直接打開開始菜單,然后輸入cmd即可打開。
2.輸入 pip install requests 以此類推,一個個安裝。
下面第二行和第三行,安裝 bs4 和lxml
'''
import requests
from bs4 import BeautifulSoup
from lxml import etree
import re
import os
import time#函數(shù)為獲得需要爬取的頁面信息,并返回頁面信息
def gethtml(pagenum):
#try...except...方法是避免爬取出錯導致程序終止。try:#start_url為初始URL,需要從這個地址中獲取圖片鏈接start_url = 'http://www.bbsnet.com/doutu/page/'url = start_url + str(pagenum)r = requests.get(url, timeout=10) #使用requests庫進行爬取,然后使用BeautifulSoup進行頁面解析,html = BeautifulSoup(r.text, 'lxml')print(r.status_code)except:print('gethtml')return html#獲取圖片鏈接
def parsepage(html):items = html.find_all(name='img',attrs={"width":"300","height":"200"})yield items#下載圖片
def downloader(ite, pagenum):
#os庫的使用方法,本人博客中有詳細的介紹if not os.path.exists('C:\\Users\\Administrator\\Desktop\\python\\爬取的圖片'): #此處的路徑可以換成自己的文件路徑。os.mkdir('C:\\Users\\Administrator\\Desktop\\python\\爬取的圖片') #此段代碼的意思是如果此路徑下爬取的圖片這個文件夾不存在,則創(chuàng)建一個新的num=1for ul in ite:u=ul.get('src')s=requests.get(u)print(u)#進行打開文檔讀取或者寫入操作的時候建議使用with open (path)as f: 的方式,好處是不用考慮操作完成后的文件關閉。with open('C:\\Users\\Administrator\\Desktop\python\\爬取的圖片\\ 第{}頁第{}張.jpg'.format(pagenum,num), 'wb')as f:f.write(s.content)print('正在打印第{}頁{}張'.format(pagenum,num))num +=1#主函數(shù),所有函數(shù)都在這里調(diào)用
def main(pagenum):html = gethtml(pagenum)for ite in parsepage(html):downloader(ite, pagenum)if __name__ == '__main__':for pagenum in range(18):main(pagenum)time.sleep(10)
這里是圖片截圖,只是單純的依照斗圖網(wǎng)上的頁面和順序?qū)D片進行命名。本人比較懶!!!
總結
- 上一篇: 工具推荐 - windows下iOS设备
- 下一篇: 【LM】360N4S解决手机关屏后经常无