当在 Scrapy Shell 中使用 xpath 从网页上的某个<p>
标签中选择电子邮件地址时,xpath 会返回<a>
该特定段落中的所有链接。因此,我尝试使用 starts-with 函数来进一步细化我想要返回的信息,这很成功,但会切断电子邮件地址的结尾。
hxs.select('//*[@id="rightCol02"]/p/a[starts-with(@href,"mailto")]')
以上返回不完整的电子邮件地址。
运行 hxs.select 时不使用starts-with 函数,我观察到以下情况:
hxs.select('//*[@id="xxxxxxx"]/p/a')
- (返回所有 URL 和电子邮件地址结尾被截断的链接。)
hxs.select('//*[@id="xxxxxxx"]/p/a/@href')
- (返回完整的电子邮件地址和 URL。)
问题是如何开始捕获整个电子邮件地址?
我尝试了以下方法,但不确定语法应该是什么:
hxs.select('//*[@id="xxxxxxxx"]/p/a/@href[starts-with("mailto:")]')