粉丝统一回复

之前发过一期携程酒店的爬取教程,好多粉丝反应说代码不用了,这里给大家统一回复一下。

问题一:携程代码无法只返回200,但没有数据,这是怎么回事?

这是因为cookies过期了,需要自行在浏览器中登录携程,然后f12获取cookies。

将浏览器中的cookies复制到代码中setting中如图位置。

代码就可以正常执行了。

问题二:想要爬取具体某个城市,怎么修改代码?

首先在以下这个网址获取自己城市的代号

https://hotels.ctrip.com/Domestic/Tool/AjaxGetCitySuggestion.aspx

如北京的代号就是1.

或者

在携程页面中目的地搜索想要的城市,然后在url中可以看到如下情况。

得到城市代号后,只要在源码中找到这个位置的代码。

修改代码:

Url_hotel='https://hotels.ctrip.com/Domestic/Tool/AjaxHotelList.aspx?city=1'
item = XiechengItem()
yield scrapy.Request(Url_hotel,
                     headers=self.settings['HEADERS'],
                     callback=self.parse_hotel,
                     meta={'item': item})

问题三:需要爬取房间数,怎么解决?

目前还没有好的办法破解携程的加密参数,需要可以参考在公众号中回复携程参数,来自行破解。

感谢大家支持,你们的支持是小编创作的动力。在这里只为将自己的知识与大家共享,欢迎大家给我们留言。

如果你有想要分享的知识,或者学习笔记,欢迎发给我们,无需排版。

让知识在这里共同分享,让需要的人少走弯路。

欢迎投稿

欢迎关注小试编程在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小试编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值