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(),
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你抓取的是https://dujia.qunar.com这个地...,但实际访问页面的时候是重定向到cxly1.package.qunar.com这个地址下的网站的,你可以检查下看看你是否开启的重定向,如果开启了重定向还不管用,你最好直接分析cxly1.package.qunar.com这个url的组成,抓取的时候需要带上请求头。