为 scrapy 2.5.1 优化 css 选择器
optimise css selector for scrapy 2.5.1
html 部分:
<div class="team-name" style="white-space: nowrap">
<span>Team A</span>
<span>13</span>
<...>
</div>
到select解析后的数据,我目前使用
response.css("div.team-name span::text").getall()
输出[22]: ['Team A', '13', ':', '3', 'Team B']
这里的输出是:
接下来我需要做的是将字符串输出转换为 int - 因此在本例中为 array[1] 和 array[3]。这里的问题是数组中的数据中有空格。
删除空格并将数字转换为 int 的最快方法是什么?
(我在想这里的nowrap也有问题)
我曾尝试使用 str.replace() / str.split() 但没有成功,同时在数组外以单独的变量处理它们。
(或者,xpath 也可以在这里工作)
您可以使用 .strip()
方法删除空格。
然后你可以验证当前字符串是否是一个数字。
datas = response.css("div.team-name span::text").getall()
for data in datas:
data = data.strip()
if data.isdigit():
print(data)
html 部分:
<div class="team-name" style="white-space: nowrap">
<span>Team A</span>
<span>13</span>
<...>
</div>
到select解析后的数据,我目前使用
response.css("div.team-name span::text").getall()
输出[22]: ['Team A', '13', ':', '3', 'Team B']
这里的输出是:
接下来我需要做的是将字符串输出转换为 int - 因此在本例中为 array[1] 和 array[3]。这里的问题是数组中的数据中有空格。 删除空格并将数字转换为 int 的最快方法是什么? (我在想这里的nowrap也有问题)
我曾尝试使用 str.replace() / str.split() 但没有成功,同时在数组外以单独的变量处理它们。 (或者,xpath 也可以在这里工作)
您可以使用 .strip()
方法删除空格。
然后你可以验证当前字符串是否是一个数字。
datas = response.css("div.team-name span::text").getall()
for data in datas:
data = data.strip()
if data.isdigit():
print(data)