第一個簡單的爬蟲---美女圖片

import requests
from bs4 import BeautifulSoup

res = requests.get\
    ("http://pic.sogou.com/pics/recommend?category=%C3%C0%C5%AE&from=webvr#%E8%90%9D%E8%8E%89")
soup = BeautifulSoup(res.text,'html.parser')
print(soup.select('img'))

res變量:存儲鏈接的網頁所有內容

res.text :提取網頁的文本內容

html.parser: 以一定的格式解析網頁內容

soup.select( ):CSS選擇器, 我們使用CSS選擇器來尋找符合要求的數據。找到的數據,返回爲list類型,尋找到的                        是所有符合要求的數據

soup.select('img')// css裏img標籤裏的信息
print soup.select('div')// 直接返回div標籤所有的內容

運行結果:

[<img alt="搜狗圖片" src="/news/images/[email protected]" srcset="/news/images/[email protected] 2x"/>, <img class="st-load" src="">

</img>]

結果沒發現圖片的URL。。。

檢查網頁元素,選 Network, XHR , 對應Name, 觀察Headers 和 priview的信息 和規律:



import requests
import urllib
from bs4 import BeautifulSoup
import json

def getImgs(length,path):  //爬取個數,下載到本地的路徑   
    imgs = requests.get(
'http://pic.sogou.com/pics/channel/getAllRecomPicByTag.jsp?category=%E7%BE%8E%E5%A5%B3&tag=%E8%90%9D%E8%8E%89&start=15&len=15') jd = json.loads(imgs.text) jd = jd['all_items'] imgs_url = [] for j in jd: imgs_url.append(j['bthumbUrl']) m = 0 for img_url in imgs_url: print( str(m) + '.jpg ' + ' Downloading...') urllib.request.urlretrieve(img_url, path + str(m) + '.jpg') m = m + 1 print('Download complete!')getImgs( 20, 'F:/yang/sougouImgs/')

運行結果:



雖然長度定爲20,但是前面一個頁面只有15張,所以只能下載15張



再返回到網頁檢查部分  發現 start 的規律 15, 30 , 45 ....

更改的待續。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章