写一个爬虫来抓取一个网站,但是被一个问题卡住了。这里有一段类似下面的代码。我还想写一个爬虫来抓取存在于<ul>
标记中的所有<li>
标记,以提取其中的href
属性,并将其存储在一个增量变量中,如Field1
、Field2
、Field3
等,其中‘href
’为常量,数值随着存在的<li>
标记的增加而递增
示例Html:(不要把原始的html放在很长的地方)
<ul class="l-itemcassette l-space_medium">
<li>
<a href="#">Link</a>
</li>
<li>
<a href="#">Link</a>
</li>
<li>
<a href="#">Link</a>
</li>
<li>
<a href="#">Link</a>
</li>
</ul>
在使用xpath时遇到问题,所以使用css选择器。
发布于 2017-01-24 22:46:23
您可以在response.css()
或response.xpath()
上使用enumerate()
来索引匹配的href属性值:
In [1]: {'Field%d' % index: link
for index, link in enumerate(response.css("ul.l-itemcassette.l-space_medium li a::attr('href')").extract(), start=1)}
Out[1]:
{'Field1': u'#link1',
'Field2': u'#link2',
'Field3': u'#link3',
'Field4': u'#link4'}
请注意,出于演示目的,我已经分配了不同的href
值。
https://stackoverflow.com/questions/41831036
复制相似问题