2017-03-12 8 views
0

嘿,我試了一會兒,我不知道如何使用soup.find函數來識別名稱。我正在尋找的物品是用「名稱」標識的:如果它是這樣的,我該如何找到它。文本繼續向上和向下。使用美麗的湯,在HTML文件中找到一個名字

, 「100002078216989」:{ 「水印」:1488952059387, 「行動」:1488954831234}, 「100002219436413」:{ 「水印」:1488717577383, 「行動」:1488717619845}, 「100003348640283」:{「水印「:1489154862229,」 動作 「:1489158262774},」 100004986371453 「:{」 水印 「:1489154862229,」 動作 「:1489154866065}}],[]],[」 MDynaTemplate 「 」registerTemplates「,[],[{」 URLg3i「:[」MMessageSourceTextTemplate「,」\ u003Cspan class = \「source mfss fcg \」> [[text]] \ u003C/span>「],」DHGslp「:[」MMessageSourceTextWithLinkTemplate「,」\ u003Cspan class = \「mfss fcg \」> \ cn0 href = \「[[\ u0025UNESCAPED]] [[download_href]] \」> [[text]] \ u003C/a> \ u003C/span>「],」vSvEYy「 :[「MReadReceiptTextTemplate」,「\ u003Cspan class = \」mfss fcg \「> [[text]] \ u003C/span>」]}],[]],[「MShortProfiles」,「set」,[],[「Value」,{「id」:「Value」, 「名」: 「」, 「名字」: 「值」, 「虛榮」: 「值」, 「thumbSrc」:空

+0

我認爲如果您可以提供您嘗試查找該頁面的名稱或HTML的頁面的URL,會更容易。 – Jonathan

+0

html是對話的Facebook移動信使頁面。我相當確定是在郵件中識別用戶姓名的唯一方式。由於html頁面充滿個人信息,因此我不太有信心分享我的個人信息。 –

+0

從我能看到的名字的html代碼是下面的 Jonathan Sundqvist'。所以也許找一個叫演員的班?目前還不是很清楚你想要達到的目標。只需找到名字? – Jonathan

回答

0

這裏是我的解決方案:

def get_name(self, file): 

    s = BeautifulSoup(open(file), "lxml") 
    for item in s.find("p"): 
     print("The base item: \n" +item + "\n") 
     item = item.split("name\":\"") 
     print("1st split: \n" + item[-1] + "\n") 
     item = item[-1].split("\",\"") 
     print("2nd split: \n" + item[0] + "\n") 

輸出:

The base item: 
"100002078216989":{"watermark":1488952059387,"action":1488954831234},"100002219436413":{"watermark":1488717577383,"action":1488717619845},"100003348640283":{"watermark":1489154862229,"action":1489158262774},"100004986371453":{"watermark":1489154862229,"action":1489154866065}}],[]],["MDynaTemplate","registerTemplates",[],[{"URLg3i":["MMessageSourceTextTemplate","\u003Cspan class=\"source mfss fcg\">[[text]]\u003C/span>"],"DHGslp":["MMessageSourceTextWithLinkTemplate","\u003Cspan class=\"mfss fcg\">\u003Ca href=\"[[\u0025UNESCAPED]][[download_href]]\">[[text]]\u003C/a>\u003C/span>"],"vSvEYy":["MReadReceiptTextTemplate","\u003Cspan class=\"mfss fcg\">[[text]]\u003C/span>"]}],[]],["MShortProfiles","set",[],["Value",{"id":"Value","name":"Value","firstName":"Value","vanity":"Value","thumbSrc":null 

1st split: 
Value","firstName":"Value","vanity":"Value","thumbSrc":null 

2nd split: 
Value 

事實上,您的html文件不是一個完美的格式。所以我能找到的最好方式就是這樣。但是,它可以以某種方式適合您的需求。