0
我試圖從一個ul標籤(id =「ShowProductImages」)的「之前 - 兄弟姐妹」中的onclick標籤中提取產品ID。在Scrapy蜘蛛中的xpath /正則表達式的問題
我試圖提取的數量後直接PID =,例如:??
...列表/ ViewAll PID = &圖像= 206 ...
下面是我試圖提取的內容:
<ul id="ShowProductImages" class="imageView">
<li><a href="" target="_blank" onClick="javascript:initWindow('http://products.example.com/products/list/ViewAll?pid=234565&image=754550',520,520,100,220);return false;"><img src="http://content.example.com/assets/images/products/j458jk.jpg" width="200" height="150" alt="Product image description here" border="0"></a></li>
</ul>
<div class="description">
Description here...
</div>
我使用xpath選擇onclick標記以及正則表達式以提取id。這是我正在使用的代碼(這是不工作)
def parse(self, response):
sel = HtmlXPathSelector(response)
products_path = sel.xpath('//div[@class="description"]')
for product_path in products_path:
product = Product()
product['product_pid'] = product_path.xpath('preceding-sibling::ul[@id="ShowProductImages"][1]//li/a[1]/@onclick').re(r'(?:pid=)(.+?)(?:\'|$)')
yield product
有什麼建議嗎?我不太確定我出錯的地方。
感謝您的幫助提前。
你可能也可以限制正則表達式爲're(r'pid =(\ d +)')',非選擇括號在這裏是無用的...... – Robin