scrapy 计算class相同的div的个数
时间: 2024-09-13 20:03:34 浏览: 31
Scrapy是一个开源的网页爬取框架,主要用于Web爬取以及信息抓取的场景。要使用Scrapy计算具有相同class属性的`<div>`标签的个数,你可以通过编写一个Scrapy爬虫,在解析响应内容时遍历所有的`<div>`元素,并统计具有相同class属性的元素数量。
以下是一个简单的示例代码:
```python
import scrapy
class DivCounterSpider(scrapy.Spider):
name = 'div_counter'
allowed_domains = ['example.com']
start_urls = ['http://example.com']
def parse(self, response):
divs = response.xpath('//div')
class_counts = {}
for div in divs:
classes = div.xpath('@class').getall()
for class_name in classes:
if class_name not in class_counts:
class_counts[class_name] = 0
class_counts[class_name] += 1
# 打印统计结果
for class_name, count in class_counts.items():
print(f"Class '{class_name}' count: {count}")
```
在这个例子中,`parse`方法会遍历页面上所有的`<div>`标签,并使用`xpath`方法获取每个`<div>`的class属性值。然后通过一个字典`class_counts`来统计每个class出现的次数。最后,遍历这个字典并打印出每个class及其对应的计数。
阅读全文