我想获取一些数据,但我很难选择两个
td
并将输出放在它们所属的同一行。
HTML 示例:
<tr>
<td class ='verseNumCell'>
፳
</td>
<td class ='verseConentCell'>
ወትቤሎን ኢትስምያኒ ኖሔሚን ስምያኒ መራር እስመ መረርኩ ፈድፋደ ወብዙኀ ።
</td>
</tr>
<tr>
<td class ='verseNumCell'>
፳፩
</td>
<td class ='verseConentCell'>
አንሰ ምልእትየ ሖርኩ ወዕራቅየ አግብአኒ <span class='divineWord'>እግዚአብሔር</span> ለምንት ትብላኒ ኖሔሚን እንዘ <span class='divineWord'>እግዚአብሔር</span> አኅሰረኒ ወፈድፋደ አሕመመኒ ።
</td>
</tr>
<tr>
我做了什么:
import bs4
import requests
import re
url = "https://www.ethiopicbible.com/books/%E1%8A%A6%E1%88%AA%E1%89%B5-%E1%8B%98%E1%8D%8D%E1%8C%A5%E1%88%A8%E1%89%B5-1"
parameters = {}
response = requests.get(url, params=parameters)
soup = bs4.BeautifulSoup(response.text, "html.parser")
element_list = soup.find("div", class_="geezBibleChapterContainer").find_all("td")
for element in element_list:
text = element.get_text()
text = os.linesep.join([s for s in text.splitlines() if s])
if not re.match(r'^\s*$', text):
print(text)
我的输出:
፳
ወትቤሎን ኢትስምያኒ ኖሔሚን ስምያኒ መራር እስመ መረርኩ ፈድፋደ ወብዙኀ ።
፳፩
አንሰ ምልእትየ ሖርኩ ወዕራቅየ አግብአኒ እግዚአብሔር</span> ለምንት ትብላኒ ኖሔሚን እንዘ
我想得到什么:
፳ ወትቤሎን ኢትስምያኒ ኖሔሚን ስምያኒ መራር እስመ መረርኩ ፈድፋደ ወብዙኀ ።
፳፩ አንሰ ምልእትየ ሖርኩ ወዕራቅየ አግብአኒ እግዚአብሔር</span> ለምንት ትብላኒ ኖሔሚን እንዘ
我应该在单独的“汤”中选择 td 吗?
无需选择单元格,只需选择每一行并使用
get_text(separator=' ',strip=True)
:
for row in soup.select('div.geezBibleChapterContainer tr'):
print(row.get_text(' ',strip=True))
什么导致:
፩ በቀዳሚ ገብረ እግዚአብሔር ሰማየ ወምድረ ።
፪ ወምድርሰ ኢታስተርኢ ወኢኮነት ድሉተ ወጽልመት መልዕልተ ቀላይ ወመንፈሰ እግዚአብሔር ይጼልል መልዕልተ ማይ ።
፫ ወይቤ እግዚአብሔር ለይኩን ብርሃን ወኮነ ብርሃን ።
፬ ወርእዮ እግዚአብሔር ለብርሃን ከመ ሠናይ ወፈለጠ እግዚአብሔር ማእከለ ብርሃን ወማእከለ ጽልመት ።
፭ ወሰመዮ እግዚአብሔር ለብርሃን ዕለተ ወለጽልመት ሌሊተ ወኮነ ሌሊተ ወጸብሐ ወኮነ መዓልተ ፩ ።
፮ ወይቤ እግዚአብሔር ለይኩን ጠፈር ማእከለ ማይ ከመ ይፍልጥ ማእከለ ማይ ወኮነ ከማሁ ።
፯ ወገብረ እግዚአብሔር ጠፈረ ወፈለጠ እግዚአብሔር ማእከለ ማይ ዘታሕተ ጠፈር ወማእከለ ማይ ዘመልዕልተ ጠፈር ።
፰ ወሰመዮ እግዚአብሔር ለውእቱ ጠፈር ሰማየ ወርእየ እግዚአብሔር ከመ ሠናይ ወኮነ ሌሊተ ወጸብሐ ወኮነ ካልእተ ዕለተ ።
import requests
import bs4
url = "https://www.ethiopicbible.com/books/%E1%8A%A6%E1%88%AA%E1%89%B5-%E1%8B%98%E1%8D%8D%E1%8C%A5%E1%88%A8%E1%89%B5-1"
parameters = {}
response = requests.get(url, params=parameters)
soup = bs4.BeautifulSoup(response.text, "html.parser")
for row in soup.select('div.geezBibleChapterContainer tr'):
print(row.get_text(separator=' ',strip=True))