亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

獲取百度貼吧頭像的爬蟲(chóng)

AJie / 2361人閱讀

摘要:在上一篇文章的基礎(chǔ)上增加獲取百度貼吧的頭像圖片的功能,使用到的技術(shù)為,,具體實(shí)現(xiàn)如下查看網(wǎng)頁(yè)源代碼測(cè)試網(wǎng)頁(yè)鏈接通過(guò)定位頭像的的代碼每一樓層的標(biāo)簽是從樓層開(kāi)始,直到定位到照片順序應(yīng)該是提取信息通過(guò)一步步獲取到這一層,提取到這個(gè)標(biāo)簽中的就可以獲

在上一篇文章的基礎(chǔ)上增加獲取百度貼吧的頭像圖片的功能,使用到的技術(shù)為XPath,Requests,具體實(shí)現(xiàn)如下:

1. 查看網(wǎng)頁(yè)源代碼
測(cè)試網(wǎng)頁(yè)鏈接:http://tieba.baidu.com/p/3522395718?pn=1 通過(guò)Chrome定位頭像的HTML的代碼

每一樓層的標(biāo)簽是:

class="l_post j_l_post l_post_bright  "

從樓層開(kāi)始,直到定位到照片順序應(yīng)該是

2. 提取XPath信息
通過(guò)XPath一步步獲取到這一層,提取到這個(gè)標(biāo)簽中的src就可以獲取到圖片的url

ImgLink = ImgFilter.xpath("http://div[@class="l_post j_l_post l_post_bright  "]")[0]
links = ImgLink.xpath("http://div[@class="d_author"]/ul/li/div[@class="icon_relative j_user_card"]/a/img/@data-tb-lazyload")

這里會(huì)遇到一個(gè)問(wèn)題,如果第二個(gè)XPath的條件是/img/@src則會(huì)遇到一個(gè)問(wèn)題:
使用requests獲取到的html會(huì)有很多空白的頭像

"http://tb2.bdstatic.com/tb/static-pb/img/head_80.jpg"


這是因?yàn)榫W(wǎng)頁(yè)是分步加載的,首先使用默認(rèn)的頭像展示,再逐步下載自定義頭像替換,因此還要得到自定義頭像的地址,通過(guò)分析網(wǎng)頁(yè)代碼,可以發(fā)現(xiàn):


“data-tb-lazyload”這個(gè)才是真正的自定義頭像的鏈接地址

3. 去掉獲取到的鏈接中的重復(fù)值
由于貼吧的不同的樓層是有可能是同一個(gè)人,即同一個(gè)頭像的;為了節(jié)省空間,我們要去除掉重復(fù)的圖像,在Python中可以通過(guò)函數(shù)set()去除列表重復(fù)值

links = list(set(links))

測(cè)試一下:

print("before set list:{0}".format(len(links)))
links = list(set(links))
print("after set list:{0}".format(len(links)))

測(cè)試結(jié)果:

before set list:27
after set list:21

成功消除掉了重復(fù)的鏈接

4.將鏈接存儲(chǔ)到j(luò)peg文件
Requests庫(kù)中包含了獲取數(shù)據(jù)的方法get(),可以使用該方法將鏈接存儲(chǔ)到文件中

with open("img{0}.jpeg".format(i),"wb") as code:
            code.write(graphic.content)
            

完整程序(可直接使用)

#-*-coding:utf8-*-
from lxml import etree
import requests
import re

def GetImgLink(url):
    html = requests.get(url)
    html = re.sub(r"charset=(/w*)", "charset=UTF-8", html.text)
    ImgFilter = etree.HTML(html)
    ImgLink = ImgFilter.xpath("http://div[@class="l_post j_l_post l_post_bright  "]")[0]
    links = ImgLink.xpath("http://div[@class="d_author"]/ul/li/div[@class="icon_relative j_user_card"]/a/img/@data-tb-lazyload")
    #links = ImgLink.xpath("http://div[@class="d_author"]/ul/li/div[@class="icon_relative j_user_card"]/a/img/@src")
    print(links)
    print("before set list:{0}".format(len(links)))
    links = list(set(links))
    print("after set list:{0}".format(len(links)))
    i = 0
    for each_link in links:
        graphic = requests.get(each_link)
        with open("img{0}.jpeg".format(i),"wb") as code:
            code.write(graphic.content)
        i = i + 1


pagelink = "http://tieba.baidu.com/p/3522395718?pn=1"
GetImgLink(pagelink)

測(cè)試結(jié)果:

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/45413.html

相關(guān)文章

  • 首次公開(kāi),整理12年積累博客收藏夾,零距離展示《收藏夾吃灰》系列博客

    摘要:時(shí)間永遠(yuǎn)都過(guò)得那么快,一晃從年注冊(cè),到現(xiàn)在已經(jīng)過(guò)去了年那些被我藏在收藏夾吃灰的文章,已經(jīng)太多了,是時(shí)候把他們整理一下了。那是因?yàn)槭詹貖A太亂,橡皮擦給設(shè)置私密了,不收拾不好看呀。 ...

    Harriet666 評(píng)論0 收藏0
  • 23個(gè)Python爬蟲(chóng)開(kāi)源項(xiàng)目代碼,包含微信、淘寶、豆瓣、知乎、微博等

    摘要:今天為大家整理了個(gè)爬蟲(chóng)項(xiàng)目。地址新浪微博爬蟲(chóng)主要爬取新浪微博用戶的個(gè)人信息微博信息粉絲和關(guān)注。代碼獲取新浪微博進(jìn)行登錄,可通過(guò)多賬號(hào)登錄來(lái)防止新浪的反扒。涵蓋鏈家爬蟲(chóng)一文的全部代碼,包括鏈家模擬登錄代碼。支持微博知乎豆瓣。 showImg(https://segmentfault.com/img/remote/1460000018452185?w=1000&h=667); 今天為大家整...

    jlanglang 評(píng)論0 收藏0
  • python爬蟲(chóng)爬取百度網(wǎng)盤(pán)-怎么做一個(gè)百度網(wǎng)盤(pán)搜索引擎

    摘要:因?yàn)橐鋈マD(zhuǎn)盤(pán)網(wǎng),所以一定要爬取網(wǎng)盤(pán)資源,本來(lái)想自己寫(xiě)一個(gè)爬蟲(chóng)挺不容易的,不想分享出來(lái),但最后還是決定了拿給大家一起看吧,畢竟有交流才有進(jìn)步,有興趣的朋友也可以看看我寫(xiě)的其他日志或者關(guān)注我,會(huì)發(fā)現(xiàn)去轉(zhuǎn)盤(pán)網(wǎng)的大部分技術(shù)現(xiàn)在可以說(shuō)是公開(kāi)狀態(tài),如 因?yàn)橐鋈マD(zhuǎn)盤(pán)網(wǎng),所以一定要爬取網(wǎng)盤(pán)資源,本來(lái)想自己寫(xiě)一個(gè)爬蟲(chóng)挺不容易的,不想分享出來(lái),但最后還是決定了拿給大家一起看吧,畢竟有交流才有進(jìn)步,有興...

    k00baa 評(píng)論0 收藏0
  • 嘗試用Python3爬取網(wǎng)頁(yè)圖片過(guò)程記錄

    摘要:上有一個(gè)關(guān)于下載百度貼吧里的美女圖片的練習(xí)題,最近正好在學(xué)爬蟲(chóng)相關(guān)的知識(shí),拿來(lái)練練手。這是我的目標(biāo)網(wǎng)頁(yè)。 Github上有一個(gè)關(guān)于下載百度貼吧里的美女圖片的練習(xí)題,最近正好在學(xué)爬蟲(chóng)相關(guān)的知識(shí),拿來(lái)練練手。這是我的目標(biāo)網(wǎng)頁(yè)。最開(kāi)始的時(shí)候我在網(wǎng)上找到一個(gè)類似的案例,代碼如下圖:showImg(https://segmentfault.com/img/bVbh2SX);稍作修改,運(yùn)行之后得到...

    alin 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<