- 36
- 0
琢磨着搞一个爬虫监控一下12306固定车次的放票情况。
自己电脑上写完之后跑起来很正常。爬取频率也不高。五分钟爬一次,每次爬的时候依次爬8天的车票情况。每天之间间隔5秒。
在自己电脑上跑了三个小时,数据都是正常的。
遂放到vps上让他自己跑。结果爬回来的就是个错误提示页。没有爬到正常的json数据。
怀疑是ip被封,换了个vps,依然不行。又在路由器上装了个Python,跟电脑用的是同一个网。依然爬不到东西。本人比较菜。网上查了半天也没找到解决办法。。
代码如下
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import requests
import json
#import email2
from fake_useragent import UserAgent
'''ltrain_date='2018-12-28' #日期
from_station='BXP' #出站
to_station='IOQ' #到站'''
#票型
def get_num(date,from_s,to_s):
url=('https://kyfw.12306.cn/otn/leftTicket/queryZ?'
'leftTicketDTO.train_date={}&'
'leftTicketDTO.from_station={}&'
'leftTicketDTO.to_station={}&'
'purpose_codes=ADULT').format(date,from_s,to_s)
head = {'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
'Accept-Encoding': 'gzip, deflate',
'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8',
'Cache-Control': 'max-age=0',
'Connection': 'keep-alive',
'User-Agent': UserAgent().random,
'Referer': 'https://kyfw.12306.cn/otn/leftTicket/init'
}
with requests.Session() as s:
res = s.get(url,headers = head) #verify=False
res.encoding = "utf-8"
#res = requests.get(url,params=param,headers = head)
#r = res.text.encode('utf-8')
print(res.text)
#print(type(r))
jsons = json.loads(res.text)
data1 = jsons["data"]["result"][2]
data = data1.split("|")
print("{},{},{}".format(data[3],data[28],data[29]))
return data[3],data[28],data[29]
#return res
# 3车次,26无座,28硬卧,29硬座
if __name__ == '__main__':
get_num("2019-01-03","QTP","WFK")
url部分,本来是用的params传入数据,Windows上也没问题。vps的Centos上不行。换成了现在这个样子的。在vps上爬了一组数据就不行了。
0
打赏
收藏
点击回答
- 共 0 条
- 全部回答
-
難以釋懷 普通会员 1楼
在爬取网页时,错误页通常是由于服务器的问题或者网络问题导致的。以下是一些可能的解决方案:
-
检查服务器状态:你可以查看服务器的错误日志或者访问服务器的IP地址,看看是否有任何异常信息。例如,如果你的爬虫在错误页无法访问,那么可能是服务器的问题,需要检查服务器的状态。
-
检查网络状况:确保你的爬虫连接到了互联网,并且网络状况良好。如果网络有问题,可能会导致爬虫无法正常运行。
-
使用代理IP:如果你的爬虫使用的是公共IP地址,那么可能会被封禁。你可以使用代理IP来解决这个问题。
-
限制爬取速度:爬取速度过快可能会导致服务器的负担过重,从而导致错误页无法正常访问。你可以根据服务器的性能来调整爬取速度。
-
检查抓取工具:有些爬虫工具可能会因为网络问题或者服务器问题导致无法正常抓取。你可以检查你的爬虫工具是否正确安装和配置。
以上是一些可能的解决方案,具体的解决方案需要根据你的爬虫的问题来确定。
-
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
