我正在整理一张会议时间表。其中一列包含会议状态和议程链接(如果有的话)。我可以使用以下方法来拉动电池:
刮壳:
things = response.xpath('//tbody/tr')
for thing in things:
...: status_str = item.xpath('.//td[4]').extract()
...: print(status_str)
外壳结果:
['<td><a href="somelink/agenda1.pdf">Agenda</a></td>']
['<td>Meeting postponed</td>']
['<td><a href="somelink/agenda2.pdf">Agenda</a></td>']
['<td>Postponed</td>']
['<td><a href="somelink/agenda3.pdf">Agenda</a></td>']
['<td>Agenda</td>']
['<td>Agenda</td>']
我可以成功地选择a/text()或text(),但我想选择两者。我该怎么做?你知道吗
您可以使用的一种方法是regex。下面的正则表达式将捕获任何文本:
>([A-Za-z ]+)<
。你知道吗然而,在Scrapy中可能有一个更好的方法,这样您就不必采取额外的步骤。你知道吗
您可以尝试实现或(
|
),如下所示这意味着返回子链接文本或直接子文本节点或两者(如果两者都存在)
您可以字符串化
td
内容:相关问题 更多 >
编程相关推荐