这篇博客也就是简单记录两句。我之前写过两篇博文讨论Scrapy的使用:https://blog.csdn.net/qysh123/article/details/106655644,https://blog.csdn.net/qysh123/article/details/79802250。不过每次用的时候还都得参考会议一会。下面再总结一点:
以这个页面为例:https://www.cvedetails.com/cve/CVE-2017-15102/,如果我想提取其CVSS Score 6.9,应该怎么做呢,如果看页面源码可以看到:
<tr>
<th>CVSS Score</th>
<td><div class="cvssbox" style="background-color:#ffbc10">6.9</div></td>
</tr>
所以其实匹配起来很简单:
for each in response.xpath('//tr/td/div[@class="cvssbox"]/text()'):
具体大家结合我前面的博文就立刻清楚了。这里需要强调的一点是(以前也遇到过这个问题,但是没记录下来,导致每次都觉得莫名其妙):由于我是在Windows上用Eclipse写Scrapy的代码,不知道是不是因为缩进之类的问题,如果def parse(self,response)这个function中有一行注释的话,运行scrapy就会报IndentationError: unexpected indent之类的错误,真的好莫名其妙,今天又忘了以前遇到过的这个问题,还想了一会怎么回事。
就简单记录这么多。