當前位置:成語大全網 - 新華字典 - 如何用python網絡爬蟲獲取okcoin的歷史數據?

如何用python網絡爬蟲獲取okcoin的歷史數據?

首先,獲取整個頁面的數據

首先我們可以得到要下載圖片的整頁信息。

getjpg.py

#編碼=utf-8

導入urllib

def getHtml(url):

page = urllib.urlopen(url)

html = page.read()

返回html

打印html

Urllib模塊提供了壹個從網頁讀取數據的接口。我們可以從www和ftp上讀取數據,就像讀取本地文件壹樣。首先,我們定義壹個getHtml()函數:

網址。URL()方法用於打開壹個URL地址。

read()方法用於讀取URL上的數據,將URL傳遞給getHtml()函數,並下載整個頁面。執行程序將打印出整個網頁。

其次,過濾頁面中所需的數據

Python提供了非常強大的正則表達式,我們需要先了解壹點Python正則表達式。

如果我們在百度貼吧裏發現了壹些很漂亮的壁紙,可以查看壹下上壹段的工具。找到了圖片的地址,比如:src = "/70 cfying qfm 2 e 88 ium _ a/forum...jpg" pic _ ext = "JPEG "

按如下方式修改代碼:

進口re

導入urllib

def getHtml(url):

page = urllib.urlopen(url)

html = page.read()

返回html

def getImg(html):

reg = r'src= "(。+?\.jpg)" pic_ext '

imgre =重新編譯(reg)

imglist = re.findall(imgre,html)

返回imglist

打印getImg(html)

我們還創建了getImg()函數,用於過濾整個頁面中所需的圖片連接。Re模塊主要包含正則表達式:

Re.pile()可以將正則表達式編譯成正則表達式對象。

re.findall()方法讀取html中包含imgre(正則表達式)的數據。

運行該腳本將獲得包含在整個頁面中的圖片的URL地址。

第三,將頁面過濾後的數據保存到本地

通過for循環遍歷過濾後的圖像地址,並將其保存在本地。代碼如下:

#編碼=utf-8

導入urllib

進口re

def getHtml(url):

page = urllib.urlopen(url)

html = page.read()

返回html

def getImg(html):

reg = r'src= "(。+?\.jpg)" pic_ext '

imgre =重新編譯(reg)

imglist = re.findall(imgre,html)

x = 0

對於imglist中的imgurl:

urllib.urlretrieve(imgurl,' %s.jpg' % x ')

x+=1

打印getImg(html)

這裏的核心是使用urllib.urlretrieve()方法將遠程數據直接下載到本地。

通過for循環遍歷獲得的圖像連接。為了讓圖像的文件名看起來更規範,對其進行了重命名,命名規則是在X變量上加1。保存位置默認為程序的存儲目錄。

程序運行後,妳會在目錄中看到下載的文件。轉載僅供參考。