【发布时间】:2019-08-07 09:21:50
【问题描述】:
我正在尝试在 scrapy 中迭代一个列表,这是 html 示例:
<html>
<head>
<base href='http://example.com/' />
<title>Example website</title>
</head>
<body>
<div id='images'>
<a href='image1.html'>Name: My image 1 <br /><img src='image1_thumb.jpg' /></a>
<a href='image2.html'>Name: My image 2 <br /><img src='image2_thumb.jpg' /></a>
<a href='image3.html'>Name: My image 3 <br /><img src='image3_thumb.jpg' /></a>
<a href='image4.html'>Name: My image 4 <br /><img src='image4_thumb.jpg' /></a>
<a href='image5.html'>Name: My image 5 <br /><img src='image5_thumb.jpg' /></a>
</div>
<ol class="jobs">
<li class="job ">
<div id="logoso-listing">
<img width="100" height="100" class="alignleft size-thumbnail wp-image-22824">
</div>
<div id="titlo">
<strong><a href="http://link/">Text1</a></strong>
</div>
<div id="type-tag"><span class="jtype permanent">Permanent1</span></div>
<div id="type-tag-prev"><span class="jtype permanent">Permanent1</span></div>
</li>
<li class="job ">
<div id="logoso-listing">
<img width="100" height="100" class="alignleft size-thumbnail wp-image-22824">
</div>
<div id="titlo">
<strong><a href="http://link/">Text2</a></strong>
</div>
<div id="type-tag"><span class="jtype permanent">Permanent2</span></div>
<div id="type-tag-prev"><span class="jtype permanent">Permanent2</span></div>
</li>
<li class="job ">
<div id="logoso-listing">
<img width="100" height="100" class="alignleft size-thumbnail wp-image-22824">
</div>
<div id="titlo">
<strong><a href="http://link/">Text3</a></strong>
</div>
<div id="type-tag"><span class="jtype permanent">Permanent3</span></div>
<div id="type-tag-prev"><span class="jtype permanent">Permanent3</span></div>
</li>
</ol>
</body>
</html>
这些是scrapy爬虫的命令:
content = response.xpath("//ol[@class = 'jobs']")
job_list = content.xpath("//li[contains(@class,'job')]")
for job in job_list:
job.xpath("//div[@id = 'titlo']/strong/a/text()").getall()
以上代码返回:
['Text1', 'Text2', 'Text3']
['Text1', 'Text2', 'Text3']
['Text1', 'Text2', 'Text3']
而我的预期输出是:
['Text1']
['Text2']
['Text3']
我没有得到什么?这种垂直迭代,而我想以水平方式迭代 response。
【问题讨论】:
标签: python web-scraping scrapy