python抓取數據
想要做數據分析師就要知道如何將網頁上的數據獲取。
比如我要去獲取http://pic.netbian.com/4kdongman/index_2.html這個網頁裏所有的圖片。
- 首先電腦裏應該先有安裝python和配置好python的環境變量。
- 然後我要先建一個文件夾,用來存我抓取到的圖片,這個文件夾要建在和我要寫python代碼的py文件同一個目錄裏。
- 然後將代碼寫到我建好的getimages.py中並保存。
#導入模塊
import requests
#找網址
url='http://pic.netbian.com/4kdongman/index_2.html'
res =requests.get(url)
res.encoding='gbk'
from bs4 import BeautifulSoup
html=BeautifulSoup(res.text,'html.parser')
#檢查 找到圖片所在的列表,並找到列表的類名
parent=html.find('ul',class_='clearfix')
#找到列表中的圖片
images=parent.find_all('img')
from urllib import request
for each in images:
#找到圖片的網址
img_url='http://pic.netbian.com'+each.attrs['src']
#print(img_url)
name=each.attrs['alt']
#print(name)
#將圖片存到images文件夾中
request.urlretrieve(img_url,f'imagess/{name}.jpg')
- 然後在這個目錄頂端輸入cmd進入到運行窗口。
- 然後再運行窗口裏寫入 python getimages.py 然後回車,這樣我就把這個網頁的圖片扣下來存到我的imagess文件夾中了。
如果要抓多頁的數據的話就在 import requests(導入模塊)和找網址之間加個循環(注意循環以下代碼全都要tab或四個空格縮進一下)↓↓↓
#要抓取的頁數
all=15
#從第一頁開始循環,一直到第十五頁
for pageNum in range(1,all+1):
然後在要抓取的網頁鏈接的.html前面的數字改成{pageNum}
這樣就可以瘋狂的抓取到了15頁的所有圖片啦!