python微型爬蟲獲取美女圖片(福利滿滿額)

2018.03.16
author:wills

今天介紹我覺得很有用的東西,非常有趣,那就是json格式的數據存儲方式。重點當然不是這個,而是利用python進行文件的讀與寫。

def main():
    # 我有一個list列表,我要將它永久的保存下來,該怎麼辦呢?
        list1 = [1,2,3,4,5]
        # 這個list只是存在於代碼裏,我想在桌面建一個lis.txt的文件來保存它
        try:
            with open('c:/Users/yqx/Desktop/lis.txt', 'w', encoding='utf-8') as fs:
                # ‘r’是讀取數據
                #‘a’模式是追加進去文本的字符最後面,若是‘ab’‘wb’‘rb’表示二進制模式
                #以‘w’模式 寫進去的代碼是文本格式,必須是字符串,所有對列表元素
                # 遍歷列表然後將每個元素轉換爲str
                for x in list1:
                    fs.write(str(x))
                # 文件打開使用完畢後要及時關閉,不要佔用資源
                fs.close()

        except IOError as e:

            print(e)
if __name__ == '__main__':

還有一種比較通用的json格式,我就是用這個巴拉美女圖片,我的理解都寫在註釋了

# 網上的各種數據內容以  .json的格式存儲,並下載到本地存儲
# json - JavaScript Object Notation
import requests
# 導入requests模塊進行網絡訪問
import json
# 導入json模塊,使用json的函數


def main():
    # 首先到天行數據網站,獲取到json格式數據流,num=10,表示一次獲取10條數據
    # requests.get('網址')函數進行網絡訪問,並獲取相關數據
    get_source = requests.get('http://api.tianapi.com/meinv/?key=這個自己註冊然後獲取編碼(免費的)&num=50')
    # get_source.text表示這個數據流的讀取部分是文本格式,get_source.content表示讀取爲二進制格式
    print(get_source.text)
    print(get_source.content)
    mydict = json.loads(get_source.text)
    # 使用json模塊的loads函數將數據下載下來,並賦與一個變量名mydict
    # mydict數據是以字典形式存儲的,我們需要的內容的鍵是‘newslist‘
    # 而‘newslist’的值是一個列表,列表中的元素又是字典
    # 遍歷‘newslist’鍵的值列表,找到列表中的字典元素的鍵爲‘picUrl’值
    # ‘picUrl’的值就是一個字符串,我們需要的網站地址URL
    for temdict in mydict['newslist']:
        pic_url = temdict['picUrl']
        print(pic_url)
        resp = requests.get(pic_url)
        # 將‘picUrl’鍵的值str再次進行網絡訪問,獲得所需下載的數據流(即美女圖片),並將其寫入一個文件中,文件名通過對‘picUrl’的值str取一部分獲得
        filename = pic_url[pic_url.rfind('/') + 1:]
        try:
            with open(filename, 'wb') as fs:
                fs.write(resp.content)

        except IOError as e:
            print(e)
        finally:
        fs.close()


if __name__ == '__main__':
    main()

>> 這樣我就可以一次性,下載50張美女的圖片,保存在我想保存的位置,還想要更多,只需要運行運行就OK!5w張都不是問題寫個循環就好了(最後去蕪存菁,自己慢慢看吧),那個單次五十是因爲網站的限制,你開通會員了自然就可以下的更多了。這大概也算是一種爬蟲的基礎吧!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章