亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

自Linux Mint Upgrade Python 2.7.4起,Beautiful Soup

自Linux Mint Upgrade Python 2.7.4起,Beautiful Soup

LEATH 2021-03-16 17:23:39
我是一個初學者,試圖構建一個腳本來從Gutenberg項目中提取電子書,將其分為章節和段落,然后對文本進行一些基本分析。我盡力能夠可靠地找到章節標題,因為它們方便地位于“ h2”標簽中。但是,由于從Linux Mint Nadia升級到Olivia,因此僅檢測到前幾個標簽。Reddit上的一些優秀人士一直在嘗試提供幫助,但我們走到了窮途末路。但是,我們進行的診斷可能很有用。>>> import bs4>>> from urllib import urlopen>>> url = "http://www.gutenberg.org/files/82/82-h/82-h.htm">>> newtext = urlopen(url).read()>>> soup = bs4.BeautifulSoup(newtext)>>> def chap_list (htmlbook):    print 'A:', len(htmlbook)    soup = bs4.BeautifulSoup(htmlbook)    print 'B:', len(soup)    chapters = soup('h2')    print 'C:', chapters    return>>> chap_list(newtext)對我來說,這返回:A: 1317420B: 2C: [<h2>      A ROMANCE    </h2>, <h2>      By Sir Walter Scott    </h2>, <h2>      INTRODUCTION TO IVANHOE.    </h2>, <h2>      DEDICATORY EPISTLE    </h2>]同樣,現在,當我簡單地調用如上定義的湯對象時,僅返回書的第一部分-直到“住在約克城堡門”。我確定這曾經返回整個文本。因此,我的評估是BS不再提取全文。版本:Python 2.74 BeautifulSoup 4.2.1 lxml 3.1.0在一切正常的情況下,我不知道所使用的版本。嘗試在Python 3.3下運行可獲得相同的結果。我需要使用2.7,因為稍后我需要nltk。誰能幫我重新開始這項工作?
查看完整描述

3 回答

?
偶然的你

TA貢獻1841條經驗 獲得超3個贊

Lazy1,您將其評估與解析器聯系在一起。soup = bs4.BeautifulSoup(htmlbook, 'lxml')給出截短的版本,而soup = bs4.BeautifulSoup(htmlbook, 'html.parser')絕招。也許我以前的設置中沒有安裝lxml,所以默認將其設置為html.parser,但是lxml現在會自動安裝,Reddit中有人說BS4使用lxml(如果可用)。感謝大家的建議。

查看完整回答
反對 回復 2021-03-31
  • 3 回答
  • 0 關注
  • 195 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號