我用python编写了一些代码,从网页上获取公司的详细信息和名称。我在脚本中使用css选择器来收集这些项目。但是,当我运行它时,我只得到“company details”和“contact”,只有完整字符串中由“br”标记分隔的第一部分。除了我现有的,我怎么才能得到全部的呢?在
我正在尝试的脚本:
import requests ; from lxml import html
tree = html.fromstring(requests.get("https://www.austrade.gov.au/SupplierDetails.aspx?ORGID=ORG8000000314&folderid=1736").text)
for title in tree.cssselect("div.contact-details"):
cDetails = title.cssselect("h3:contains('Contact Details')+p")[0].text
cContact = title.cssselect("h4:contains('Contact')+p")[0].text
print(cDetails, cContact)
搜索结果所在的元素:
^{pr2}$我得到的结果是:
Company Name: Distance Learning Australia Pty Ltd Name: Christine Jarrett
结果我要的是:
Company Name: Distance Learning Australia Pty Ltd
Phone: +61 2 6262 2964
Fax: +61 2 6169 3168
Email: rto@dla.com.au
Name: Christine Jarrett
Phone: +61 2 6262 2964
Fax: +61 2 6169 3168
Email: chris.jarrett@dla.com.au
顺便说一句,我的目的是只使用选择器而不是xpath来完成上述操作。提前谢谢。在
text
返回第一个文本节点。如果要在抓取文本节点时遍历所有子节点,请使用xpath
,如下所示:结果:
^{pr2}$只需将
text
属性替换为text_content()
方法即可获得所需的输出:相关问题 更多 >
编程相关推荐