2024-10-02 08:26:48 发布
网友
编写一个以.csv格式输出:标题、ArtikerNummer、价格、交付状态的爬虫程序
https://www.karton.eu/einwellig-ab-100-mm
问题 很难弄清楚,网页上的哪个html标签包含了我需要的信息。 例如:<small>Artikelnummer: 001</small> 如何收集001? 还有几个标签,我不清楚如何获取这些标签的信息
<small>Artikelnummer: 001</small>
首先,您将选择所需文本所在的节点:
response.xpath('//div[@class="delivery-status"]/small/text()')
现在,为了只捕获部分返回,可以使用正则表达式。幸运的是Scrapy selectors支持内置正则表达式。所以你可以这样使用:
response.xpath('//div[@class="delivery-status"]/small/text()').re_first(r'\d+')
或对于包含所有结果的列表:
response.xpath('//div[@class="delivery-status"]/small/text()').re(r'\d+')
每个艺人都在里面
就是他们坐的地方。您可能会对<div class="signal_image status-2"> <i>感到困惑,它位于具有类交付状态的div的下游
<div class="signal_image status-2"> <i>
根据HTML的结构,您可能希望选择每张卡片并执行类似的操作
card = response.xpath('//div[@class="text-center artikelbox"]') for a in card: a.xpath('.//div[@class="delivery-status"]/small/text()').re_first(r'\d+')
这里regex\d+只按顺序搜索数字。我们之所以使用r“”,是因为\是一个转义字符,当它位于字符串中时无法识别,但使用r,我们将字符串视为原始字符串,它识别\字符
\d+
正则表达式是获取文本中比字符串方法更复杂的特定部分的好方法。对它有一个粗略的了解是很有用的,这样你就可以尝试一些基本的方法,看看如何得到你想要的
Regex and digits
Re Module | Python Module of the Week
Community StackOverflow Answer for Regex
首先,您将选择所需文本所在的节点:
现在,为了只捕获部分返回,可以使用正则表达式。幸运的是Scrapy selectors支持内置正则表达式。所以你可以这样使用:
或对于包含所有结果的列表:
每个艺人都在里面
就是他们坐的地方。您可能会对
<div class="signal_image status-2"> <i>
感到困惑,它位于具有类交付状态的div的下游根据HTML的结构,您可能希望选择每张卡片并执行类似的操作
这里regex
\d+
只按顺序搜索数字。我们之所以使用r“”,是因为\是一个转义字符,当它位于字符串中时无法识别,但使用r,我们将字符串视为原始字符串,它识别\字符正则表达式是获取文本中比字符串方法更复杂的特定部分的好方法。对它有一个粗略的了解是很有用的,这样你就可以尝试一些基本的方法,看看如何得到你想要的
资源
Regex and digits
Re Module | Python Module of the Week
Community StackOverflow Answer for Regex
相关问题 更多 >
编程相关推荐