我在python中编写了一个脚本来从网页中获取两个字段。我尝试了一个项目(有条件的第一个),另一个项目使用列表理解。最后,我将它们附加到列表中以打印结果。
我有两个问题:
当我打印结果时,我会像下面那样得到它们
[[],[],[],'EUROMESSAGE EXPRESS',[],[],[],[],[],[],[],['info@euromessageexpress.com'],[ ],[],[],[],[],[],[],[]]
我的预期输出:
EUROMESSAGE EXPRESS info@euromessageexpress.com
不喜欢这样:
EUROMESSAGE EXPRESS
info@euromessageexpress.com
这是我的剧本:
from bs4 import BeautifulSoup
import requests
url = "find the url above"
req = requests.get(url)
sauce = BeautifulSoup(req.text,"lxml")
data = []
for items in sauce.select_one("table[width='610']").select("tr"):
for item in items.select("td"):
if "Raison" in item.text:
raison = item.find_next_sibling().get_text(strip=True)
data.append(raison)
email = [item.text for item in items.select("a[href^='mailto:']")]
data.append(email)
print(data)
答案 0 :(得分:1)
尝试以下代码行以获得所需的输出:
items = sauce.select_one("table[width='610']").select("tr")
raison, email = [item.select("td")[-1].text.strip() for item in items if item.select("a[href^='mailto:']") or "Raison" in item.text]
print(raison, email)