<rp id="wnpn7"><ruby id="wnpn7"></ruby></rp>
<progress id="wnpn7"><track id="wnpn7"><rt id="wnpn7"></rt></track></progress>
<ruby id="wnpn7"></ruby>
<ruby id="wnpn7"><blockquote id="wnpn7"><div id="wnpn7"></div></blockquote></ruby>

    1. <em id="wnpn7"><ruby id="wnpn7"><input id="wnpn7"></input></ruby></em>
      1. <button id="wnpn7"><acronym id="wnpn7"></acronym></button><button id="wnpn7"><acronym id="wnpn7"></acronym></button>

        <rp id="wnpn7"><acronym id="wnpn7"></acronym></rp>

        <li id="wnpn7"><object id="wnpn7"><u id="wnpn7"></u></object></li>
        VB.net 2010 視頻教程 VB.net 2010 視頻教程 python基礎視頻教程
        SQL Server 2008 視頻教程 c#入門經典教程 Visual Basic從門到精通視頻教程
        當前位置:
        首頁 > 編程開發 > python入門 >
        • python入門教程之Python新手爬蟲二:爬取搜狗圖片(動態)

        本站最新發布   Python從入門到精通|Python基礎教程
        試聽地址  
        http://www.squ68.com/eschool/python.html


        經過上一期爬取豆瓣影評成功后,感覺爬蟲還不錯,于是想爬點圖片來玩玩...

        搜狗圖片地址:https://pic.sogou.com/?from=category

         

        先上最后成功的源碼:

        復制代碼
        import requests
        import urllib
        import json
        from fake_useragent import UserAgent
        
        def getSougouImag(category,length,path):
            n = length
            cate = category
            imgs_url = []   #定義空列表,用于保存圖片url
            m = 0   #用于顯示圖片數量
            url = 'https://pic.sogou.com/pics/channel/getAllRecomPicByTag.jsp?category='+cate+'&tag=%E5%85%A8%E9%83%A8&start=0&len='+str(n)
            headers = {'user-agent':UserAgent().random}     #設置UA
            f = requests.get(url,headers=headers)      #發送Get請求
            print(f.status_code)
            js = json.loads(f.text)
            js = js['all_items']
            for j in js:
                imgs_url.append(j['thumbUrl'])
            for img_url in imgs_url:
                print('***** '+str(m)+'.jpg *****'+' Downloading...')
                urllib.request.urlretrieve(img_url,path+str(m)+'.jpg')    #下載指定url到本地
                m += 1
            print('Download complete!')
        
        getSougouImag('壁紙',500,r'D:\souGouImg/')
        復制代碼

        效果圖:

         

        下面開始介紹作為一個新手的爬蟲步驟...

        1、首先打開網頁查看HTML源碼

        先按F12打開調試界面—>右擊圖片—>點擊檢查

        會出現如下圖紅框中的信息,不難看出,此圖片的url就是img標簽中src屬性的值。

         

        如此簡單?那直接獲取src屬性的值,再進行下載不就完全ok了?

        話不多說,開干。

        復制代碼
        from bs4 import BeautifulSoup
        import requests
        from fake_useragent import UserAgent   #ua庫
        
        url 'https://pic.sogou.com/pics/recommend?category=%B1%DA%D6%BD&from=home#%E5%85%A8%E9%83%A8%269'
        headers = {'user-agent':UserAgent().random}     #設置UA
        f = requests.get(url,headers=headers)      #發送Get請求
        print(f.status_code)    #打印狀態碼
        soup = BeautifulSoup(f.text,'lxml')     #用lxml解析器解析該網頁的內容
        print(soup.select('img'))   #篩選出所有img的標簽,并打印其屬性和內容
        復制代碼

        代碼執行結果如下:

        發現打印出的html并不是與網頁中的一致,所有考慮,這根本不是圖片的源url,于是推測圖片是動態的,繼續查找... 也是百度到了某個大佬的文章,才挖掘出以下搜尋方法。

         

        2、點擊NetWork—>點擊XHR—>然后往下滾輪,使它加載出新的圖片—>點擊新加載出來的圖片—>再點擊右側的Preview

         發現Preview下的內容為json格式的

        發現all_items,點擊它發現有0.....眾多數字,再點開發現有許多url,粘貼到瀏覽器中查看,發現這些都是圖片的url(心中狂喜)

        找到圖片的真實URL,問題也就變得簡單了。詳情還是請看代碼注釋吧~

        相關教程
                
        免费看成年人视频大全_免费看成年人视频在线观看