gpt4 book ai didi

python - 如何使用 Scrapy 抓取 "skype_c2c_container"的电话号码?

转载 作者:太空宇宙 更新时间:2023-11-04 03:30:08 25 4
gpt4 key购买 nike

我正在尝试抓取名为“skype_c2c_container”或“skype_c2c_container notranslate”(实际上是网站上发布的电话号码)之后的文本。

例如在这个网站:http://adcamfabrications.co.uk/或者在这个:http://aandbairsystems.co.uk/

我知道如何提取网站中的所有文本,然后可能会使用电话号码的模式识别,但我确信有更简单的方法。我设法通过元名称或 div id 或 div 名称提取文本,但无法弄清楚如何对包含特定单词(例如“skype”)的跨度名称执行相同的操作。

我试过的代码之一的例子:

 item["phone_number"] =response.xpath('//span[contains(@class, "Skype")] | //span[contains(@class, "skype")]').extract()

或:

item["phone_number"] =response.xpath("//span[(@skype_c2c_container)]").extract() 

我要提取的示例:

<span class="skype_c2c_text_span">+44 (0) 1234 1234</span>

我想取回文本:“+44 (0) 1234 1234”

最佳答案

找到带有 Tel 文本的元素并获取以下文本兄弟:

$ scrapy shell http://adcamfabrications.co.uk/
In [1]: response.xpath("//span[. = 'Tel']/following-sibling::text()").extract()[0].strip()
Out[1]: u'+44 (0) 1889 571690'

对于第二个网站:

$ scrapy shell http://aandbairsystems.co.uk/
In [1]: response.xpath("//td[@class='phonenumber']/text()").re(r"24 Hour cover Tel : (\d+ \d+)")[0]
Out[1]: u'01978 661999'

关于python - 如何使用 Scrapy 抓取 "skype_c2c_container"的电话号码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31386136/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com