私は、新しいリリースのbandcamp.comの「Discover」の部分(rock-> rock-> new arrivals)からitem-titleを取得しようとしています。ページの関連するソースコードのwebcrawling - bandcamp.comからitem-titleを取得
scrapy shell 'https://bandcamp.com/?g=rock&s=new&p=0&gn=0&f=all&w=0'
一部は次のようになります。
<div class="col col-3-12 discover-item">
<a data-bind="click: playMe, css: { 'playing': playing }" class="item-link playable">
<span class="item-img ratio-1-1">
<img class="art" data-bind="src_art: { 'art_id': artId, 'format': 'art_tags_large' }" src="https://f4.bcbits.com/img/a1631562669_9.jpg">
<span class="plb-btn">
<span class="plb-bg"></span>
<span class="plb-ic"></span>
</span>
</span>
</a><a data-bind="attr: { 'href': itemURL }, text: title, click: playMe" class="item-title" href="https://reddieseloff.bandcamp.com/album/dead-rebel?from=discover-new">Dead Rebel</a>
<a data-bind="attr: { 'href': bandURL }, text: artist, click: playMe" class="item-artist" href="https://reddieseloff.bandcamp.com?from=discover-new">Red Diesel</a>
<span class="item-genre" data-bind="text: genre">rock</span>
</div>
私はの助けを借りて、アイテムのタイトル(この例では「デッド反乱」)のテキストを取得しようとしましたxパス:
response.xpath('//div[@class="col col-3-12 discover-item"]//a[@class="item-title"]/text()').extract()
ですが、何も返しません。
[]
また、「item-artist」では動作しませんので、間違っていると思います。
何か助けていただきありがとうございます。
- 私はscrapyするために使用されないことができますが、あなたは '// [@ class =" item-title "]'を試していますか?また、 'bs4'と提供された' html'を使って、あなたが望む 'Dead Rebel'テキストを得ることができました。興味ありますか?たぶん、あなたは 'bs4'と' scrap'コードを混在させることができます... –
@ dot.Py 'bs4'は治療の' parsel'とまったく同じことをします。 – Granitosaurus