Xpathを使用すると、「説明」に「p」のテキストを抽出するにはどうすればよいですか?XPathの使用方法
<item>
<link>http://spor.haber7.com/futbol/haber/2335589-ispanya-avrupa-sampiyonu</link>
<guid>2335589</guid>
<pubDate>Sat, 20 May 2017 00:24:00 +0300</pubDate>
<category><![CDATA[Futbol]]></category>
<title><![CDATA[Ä°spanya Avrupa Åampiyonu]]></title>
<description><![CDATA[<a href="http://spor.haber7.com/futbol/haber/2335589-ispanya-avrupa-sampiyonu" target="_blank"><img src="http://image.cdn.haber7.com//haber/haber7/thumbs/2017/20/ispanya_avrupa_sampiyonu_1495229064_1854.jpg" /></a><p>İspanya, normal süresi 2-2 berabere sona eren final maçında İngiltere'ye penaltı atışları sonucu 4-1 üstünlük kurarak kupanın sahibi oldu.</p>]]></description>
</item>
これは私が書いたコード行です。 @romanperekhrestの勧告に従って、以下のように私のコード行を整理しました。しかし、それはまだ動作しません。
from scrapy.spiders import CrawlSpider
import xml.etree.ElementTree as ET, re
class aliSpider(CrawlSpider):
name = "aksam_spider"
start_urls = ['http://www.aksam.com.tr/cache/rss.xml']
def parse(self, response):
SET_SELECTOR = '/rss/channel/item'
baslik_SELECTOR = './/title/text()'
icerik_SELECTOR = './/description/text()'
link_SELECTOR='.//link/text()'
tarih_SELECTOR='.//pubDate/text()'
for brickset in response.xpath(SET_SELECTOR):
tree = ET.parse(brickset.xpath(icerik_SELECTOR).extract_first())
root = tree.getroot()
desc = re.search(r'<p>([^<>]+)</p>', root.find("description").text).group(1)
yield {
'baslik': brickset.xpath(baslik_SELECTOR).extract_first(),
'icerik': desc,
'link': brickset.xpath(link_SELECTOR).extract_first(),
'tarih':brickset.xpath(tarih_SELECTOR).extract_first()
}
[(extract_unquoted)]を見て(HTTPS:/ /doc.scrapy.org/en/0.10.3/topics/selectors.html#scrapy.selector.XPathSelector.extract_unquoted) –
私はあなたが私に与えたリンクのページを調べたことをお詫びします。私はあなたの答えはそこに書かれていることを知っているが、私は理解していない。私を助けてくれますか? –