我正在尝试使用python脚本从网页获取name
、address
和key contacts
。我可以用正确的方法把它们分开。但是,我想做的是将name
和address
作为字符串,并将关键联系人列在一个列表中,这样我就可以将它们写在一个csv文件中的6列中。我找不到任何方法将data-cfemail
的值包含在联系人列表中。你知道吗
我试过:
import requests
from bs4 import BeautifulSoup
link = "https://www.fis.com/fis/companies/details.asp?l=e&filterby=species&specie_id=615&page=1&company_id=160574&country_id="
res = requests.get(link,headers={"User-Agent":"Mozilla/5.0"})
soup = BeautifulSoup(res.text,'lxml')
name = soup.select_one("#name").text.strip()
address = soup.select("#description_details tr:contains('Address:') td")[1].text
contacts = [' '.join(item.get_text(strip=True).split()) for item in soup.select("#contacts table tr td")]
print(name,address,contacts)
电流输出:
Bahia Grande S.A. - BG Group
Maipú 1252 Piso 8°
['Founder & PresidentMr Guillermo Jacob', 'VP FinanceMr Andres Jacob[email protected]', 'ControllerMr Juan Carlos Peralta[email protected]', 'VP AdmnistrationMs Veronica Vinuela[email protected]', '']
预期输出(由于电子邮件受到保护,data-cfemail
的值就可以了):
Bahia Grande S.A. - BG Group
Maipú 1252 Piso 8°
[Founder & President, Mr Guillermo Jacob]
[VP Finance, Mr Andres Jacob,bbdad1dad8d4d9fbd9dad3d2dadcc9dad5dfde95d8d4d695dac9]
[Controller,Mr Juan Carlos Peralta,0b61687b6e796a677f6a4b696a63626a6c796a656f6e25686466256a79]
[VP Admnistration,Ms Veronica Vinuela,87f1f1eee9f2e2ebe6c7e5e6efeee6e0f5e6e9e3e2a9e4e8eaa9e6f5]
您可以通过以下方式来实现:先限制适当的tds
#contacts td[height]
,然后限制适当的idtd.select('#contacts_title, #contacts_name, #contacts_email')
然后在列表理解中测试current是否有cfemail并相应地采取行动。你知道吗OP的实施:
您可以遍历存储联系信息的
table
:输出:
相关问题 更多 >
编程相关推荐