不使用API抓取评论
我正在使用scrapy这个工具来抓取一个网站上关于书籍的评论。到目前为止,我已经做了一个爬虫,手动输入了某本书的链接作为起始网址,然后自己从页面的源代码中找到了评论的标签,结果也成功了。但是现在的问题是,我希望之前手动做的工作能够自动完成。也就是说,我想让爬虫能够自动找到网站上书籍的页面,并抓取它的评论。我是在抓取goodreads上的评论,但它的链接格式不统一,甚至不同书籍的评论标签也不一样。而且我不想使用API,我想自己完成所有的工作。如果有人能提供帮助,我会非常感激。
2 个回答
0
看起来,CrawlSpider 可以满足你的需求。你可以这样开始:
- 首先,指定一个起始网址列表给爬虫,比如
start_urls = ['https://www.goodreads.com']
。 为了找到包含书籍的网址,你可以创建以下的
Rule
:rules = ( Rule(SgmlLinkExtractor(allow=(r'book/show/.+', )), callback='parse_comments'), )
0
HtmlAgilityPack帮我解析和读取评论的Xpath,效果很好 :)