pyspider 传入的url打不开想要的页面

pyspider爬下的链接,打开提示没有该页面, 把链接手动用浏览器打开返回正常,得到想要的页面

打开https://tuan.qunar.com/vc/ind... ,然后传给index_page,爬取该页面的链接,传入回调函数detail_page, 同时把下一页的url传给index_page

from pyspider.libs.base_handler import *

class Handler(BaseHandler):

crawl_config = {
}

@every(minutes=24 * 60)
def on_start(self):
    self.crawl('https://tuan.qunar.com/vc/index.php?category=around/', callback=self.index_page,save={'page':0}, fetch_type="js", validate_cert=False)


@config(age=10 * 24 * 60 * 60)
def index_page(self, response):
    for each in response.doc('#list > ul.cf > li > a').items():
        self.crawl(each.attr.href,callback=self.detail_page,fetch_type="js", validate_cert=False)
    page = response.save['page']+1
    next_page_url = "https://tuan.qunar.com/vc/index.php?category=around/&limit={}%2C30".format(str(page*30))
    self.crawl(next_page_url, callback=self.index_page, fetch_type="js", save={'page':page})


@config(priority=2)
def detail_page(self, response):
    return {
        "url": response.url,
        "title": response.doc('title').text(),
    }


阅读 2.6k
1 个回答

你抓取的是https://dujia.qunar.com这个地...,但实际访问页面的时候是重定向到cxly1.package.qunar.com这个地址下的网站的,你可以检查下看看你是否开启的重定向,如果开启了重定向还不管用,你最好直接分析cxly1.package.qunar.com这个url的组成,抓取的时候需要带上请求头。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏