from scrapy.spider import BaseSpider
from scrapy.selector import HtmlXPathSelector
from manga.items import MangaItem
class MangaHere(BaseSpider):
name = "mangah"
allowed_domains = ["mangahere.com"]
start_urls = ["http://www.mangahere.com/seinen/"]
def parse(self,response):
hxs = HtmlXPathSelector(response)
sites = hxs.select('//ul/li/div')
items = []
for site in sites:
rating = site.select("p/span/text()").extract()
if rating > 4.5:
item = MangaItem()
item["title"] = site.select("div/a/text()").extract()
item["desc"] = site.select("p[2]/text()").extract()
item["link"] = site.select("div/a/@href").extract()
item["rate"] = site.select("p/span/text()").extract()
items.append(item)
return items
私の目標は、www.mangahere.com/seinenまたはそのサイト上の何かをクロールすることです。すべてのページに目を通し、4.5以上の評価の本を集めたいと思います。私はベーススパイダーとして始めて、スクレイピーなチュートリアルをコピーして読んでみましたが、それはほとんど頭に浮かびました。ルールを作成するために何をするのか、そしてどのように行うのかを尋ねるためにここにいます。また、条件を機能させることができないようです。コードは最初の項目のみを返し、条件に関係なく停止するか、条件に関係なくすべてを取得します。私はおそらくかなりめちゃくちゃなコードを知っていますが、私はまだ学ぶのに苦労しています。コードを修正するか、他のアドバイスを提供してください