我用Python爬美圖,妹子多多,自己動手不孤獨

優化閱讀Python練習第九題,爬取貼吧圖片

一、問題:用 Python爬取妹子圖片 :)

杉本有美_杉本有美吧_百度貼吧

二、分析貼吧網頁源碼

打開網頁杉本有美_杉本有美吧_百度貼吧,F12

發現圖片鏈接都在<img>標籤中

<cc>n <div...>n <img...>n <img...>n

測試發現,src中的鏈接就是圖片鏈接。那麼就很簡單,只需要把<img>中的src的鏈接拿出來即可。

三、寫代碼

環境:Python3,Pycharm

使用requests和xpath,最近才學了xpath,發現超級好用,比bs4簡潔,有興趣看看這個爬蟲入門到精通-網頁的解析(xpath) - 知乎專欄

import requestsnfrom lxml import etreennurl = http://tieba.baidu.com/p/2166231880nheader = {User-Agent:Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36}nr = requests.get(url,headers=header).contentns = etree.HTML(r)nprint(s.xpath(//div/img/@src))n

發現鏈接都已經拿到手,下一步就是下載了~

下載圖片的語句:

import urllib.requestnpath = ...... #下載鏈接njpg_link = ...... #圖片鏈接nrequest.urlretrieve(jpg_link, path) n

加在一起,大功告成。

四、總結

經測試,貼吧裡面其他網頁如:[Sabra][08-04]strictly GIRLS瀬戸早妃

本代碼都可以下載,順便說一說問題。

1、圖片名稱使用圖片鏈接中的名稱,包含大量數字和字母,可以優化。

2、可以看到,下載文件中包含了一個表情,查看那是用戶所發,說明篩選出了問題。

3、帖子數量多,翻頁過後,需要在代碼中加入獲取下一頁鏈接。

除此之外,還有什麼問題呢?

源碼請見:github.com/zhangslob/Ti

-------------------------

作者:張世潤

博客專欄:崔斯特的博客專欄

大家也可以加小編微信:tszhihu (備註:Python),拉大家到 Python愛好者社區 微信群,可以跟各位等老師互相交流。謝謝

明天晚上 崔慶才老師教你玩 Python爬蟲知乎用戶信息,記得關注。內容:

1. 分析知乎Ajax請求及爬取邏輯 2. 用Scrapy實現遞歸爬取

3. 爬取結果存儲到MongoDB 報名地址:爬取知乎所有用戶詳細信息 。後面到 Live也弄幾場,感謝關注。


推薦閱讀:

TAG:Python | 美图 | 爬虫计算机网络 |