猿问

使用scrapy爬取新浪电影库,只能爬取到前两页内容,后边全是重复页面

使用scrapy爬取新浪电影库,结果前两页正常,之后的页面全是重复,刚开始以为是时间戳的问题,后来加入时间戳还是有问题,求解答……(新浪电影库网址:http://ent.sina.com.cn/ku/movie_search_index.d.html?page=1&cTime=1547163277&pre=next)

import scrapy
from sina.items import MovieItem
from scrapy_splash import SplashRequest
import time
import re


class SinaspiderSpider(scrapy.Spider):
    name = 'sinaspider'
    allowed_domains = ['ent.sina.com.cn']
    start_urls = ['http://ent.sina.com.cn/ku/movie_search_index.d.html?page=1&cTime=1546971817&pre=next']





    def start_requests(self):
        for url in self.start_urls:
            yield SplashRequest(url,args={'images': 0, 'timeout': 3})

    def parse(self, response):


        '''
        1。获取文章列表页中的文章url并交给scrapy下载后并进行解析
        2。获取下一页的url并交给scrapy,下载完成后交给parse
        '''
       
        for sel in response.css('ul.tv-list li'):
            director = sel.css('.item-intro.left p:nth-child(3)::text').extract_first()
            yield {'director': director}
        href = response.css('.next-t.nextPage::attr(href)').extract_first()
        if href:
            t = str(int(time.time()*1000))
            temp = re.match('.*page=(\d+).*', href)
            p = int(temp.group(1))+1
            url = 'http://ent.sina.com.cn/ku/movie_search_index.d.html?page='+str(p)+'&cTime='+t+'&pre=next'
            yield SplashRequest(url, args={'images': 0, 'timeout': 3})


慕设计0386610
浏览 1320回答 1
1回答
随时随地看视频慕课网APP

相关分类

Python
我要回答