我有一個(gè)包含刮取值的列表,例如:[<a href="shropshire.html">A Shropshire Lad (David Austin Rose, Austin, 1997) </a>, <a href="agiraud.html">Abbé Giraudier (Hybrid Perpetual, Levet, 1869)</a>, <a href="abelcarr.html">Abel Carrière (Hybrid Perpetual, E. Verdier, 1875)</a>, <a href="abelc.html">Abel Carrière (Illustration from <em>Le Livre d'Or des Roses</em>, 1903)</a>, <a href="darby.html">Abraham Darby? (David Austin Rose, Austin, 1985)</a>, <a href="adammes.html">Adam Messerich (Hybrid Bourbon, Lambert, 1920)<br/> </a>,當(dāng)我將我的列表轉(zhuǎn)換為 pandas DataFrame 時(shí),只有文本出現(xiàn)在列中,而不是完整的值。如何制作包含每個(gè)的全部?jī)?nèi)容的 df <a> ... </a>,?或者我怎樣才能得到一個(gè)有兩列的 df,一列是 href,另一列是文本?
1 回答

嗶嗶one
TA貢獻(xiàn)1854條經(jīng)驗(yàn) 獲得超8個(gè)贊
在這里為其他開發(fā)人員發(fā)布答案。
您需要從標(biāo)簽中提取 href 和文本
通常像
soup = BeautifulSoup(html.text,'lxml')
with open(filename,'w',newline='',encoding='utf-8') as f:
w = csv.writer(f)
for a in soup.find_all('a',href=True):
text = a.text
link = a['href']
w.writerow([text,link])
然后你可以像這樣將這個(gè) CSV 加載到 pandas 中。
pandas.read_csv('filename.csv', columns =['text','url'])
添加回答
舉報(bào)
0/150
提交
取消