以下是页面的HTML源代码:
<td><table>
<tr>
<td class="OfficeTitleLink"><a href="mailto:example@example.ca">John Doe </a> </td>
<td class="OfficeContent">Example (Example)</td>
</tr>
我试图确定解析器的结构应该是什么样的,我想我需要选择与“OfficeTitleLink”相关联的文本;我试图提取电子邮件地址和相关信息。以下是我所拥有的:
def parse(self, response):
hxs = HtmlXPathSelector(response)
titles = hxs.select('//table[table[@class="OfficeTitleLink"]/td')
for titles in titles:
item = example_crawler
item ["title"] = titles.select(".//text()").extract()
item.append(item)
return items
我哪里不对?你知道吗
--编辑--
好吧,在回顾Xpath文档并在ScrapyShell中做了更好的测试之后,发现问题出在我的选择器上。正确的选择器是:
'//tr/td[@class="OfficeTitleLink"]/a/@href'
html表示例中的类名是“OfficeTitleLink”,代码中列出的类名是“OfficialTitleLink”,这是故意的吗?你知道吗
目标类在共享的html代码段中不存在。你知道吗
你错了一件事,呵呵。 不过,我不确定还有什么。你知道吗
相关问题 更多 >
编程相关推荐