用scrapy爬豆瓣top250的问题
本帖最后由 changmind 于 2020-7-21 23:26 编辑用scrap可以正常爬取,但是爬取出来的东西很多重复。谁能帮忙看看什么问题。
什么都正常,就是出来的东西有很多重复的,正常是250条数据,我出来上千条。
import scrapy
from douban.items import DoubanItem
class DoubanSpiderSpider(scrapy.Spider):
name = 'douban'
allowed_domains = ['douban.com']
start_urls = ['https://movie.douban.com/top250']
def parse(self, response):
content = response.xpath('//ol/li')
for each in content:
item = DoubanItem()
item['rank'] = each.xpath('//em/text()').extract()
item['name'] = each.xpath('//div[@class="hd"]/a/span/text()').extract()
item['info'] = each.xpath('//p/text()').extract()
item['scort'] = each.xpath('//div[@class="star"]/span/text()').extract()
yield item
if len(response.xpath('//span[@class="next"]/a/@href')) != 0 :
next_url = response.xpath('//span[@class="next"]/a/@href').extract()
yield scrapy.Request('https://movie.douban.com/top250' + next_url,callback = self.parse) yield scrapy.Request('https://movie.douban.com/top250' + next_url,callback = self.parse)
这里面,加上
dont_filter = False foxiangzun 发表于 2020-7-21 09:16
这里面,加上
这个是什么?我翻页是正常的。 changmind 发表于 2020-7-21 18:22
这个是什么?我翻页是正常的。
据说是筛选器,关掉就会去重 import scrapy
from douban.items import DoubanItem
class DoubanSpiderSpider(scrapy.Spider):
name = 'douban'
allowed_domains = ['douban.com']
start_urls = ['https://movie.douban.com/top250']
def parse(self, response):
content = response.xpath('//ol/li')
for each in content:
item = DoubanItem()
item['rank'] = each.xpath('//em/text()').extract()
item['name'] = each.xpath('//div[@class="hd"]/a/span/text()').extract()
item['info'] = each.xpath('//p/text()').extract()
item['scort'] = each.xpath('//div[@class="star"]/span/text()').extract()
yield item
if len(response.xpath('//span[@class="next"]/a/@href')) != 0 :
next_url = response.xpath('//span[@class="next"]/a/@href').extract()
yield scrapy.Request('https://movie.douban.com/top250' + next_url,callback = self.parse,dont_filter = False) 你忘记退出了吧 临时号 发表于 2020-7-22 18:03
你忘记退出了吧
退出啥? xiaosi4081 发表于 2020-7-22 14:40
复制黏贴有意思? 可能出现重复执行了吧,总之你仔细检查一下代码 数据对吗 多设置断点,其实debug功能能检测很多错误 鱼币? {:10_266:}{:10_266:}{:10_266:} ????? 怎么回事? 。。。{:10_247:}{:10_247:}{:10_247:} {:10_249:}{:10_249:}{:10_249:} 终于来了 看看是不是翻页出的问题,再说了,总共就10几页,放到初始的url里面请求就得,搞啥翻页操作啊
页:
[1]