Python:基于Python爬虫技术的抢票程序及其实现

临近放假,相信我们每天都在群聊里或者朋友圈看到一些帮忙抢火车票的信息。看到朋友们抢回家的车票这么辛(bei)苦(can),结合圈里一些前辈的指点,抱着学习的心态用Python做了一个简单的自动化抢票程序,抢到票之后通过绑定的邮箱(比如QQ)发通知。下面分享主要内容:

版本号 Python 3.6.5

编译器 PyCharm PRO 2018.1

浏览器 Google Chrome 71.0.3

在这里插入图片描述

首先,我们用到一个Splinter库:

相信做自动化测试、自动化爬虫的朋友都知道Selenium工具,它可以把人为驱动行为转化为机器执行,Splinter的药效跟它是一样的。我们可以进去cmd后用 pip install splinter

这个命令来安装。

然后,开始使劲地码:

在这里插入图片描述

1. 定义自动购票的类(初始化属性)

class Buy_Tickets(object):

# 定义实例属性,初始化

def __init__(self, username, passwd, order, passengers, dtime, starts, ends):

self.username = username

self.passwd = passwd

self.order = order # 车次,0代表所有车次

self.passengers = passengers # 乘客名

self.starts = starts # 起始地和终点

self.ends = ends

self.dtime = dtime # 日期

self.login_url = 'https://kyfw.12306.cn/otn/login/init'

self.initMy_url = 'https://kyfw.12306.cn/otn/view/index.html'

self.ticket_url = 'https://kyfw.12306.cn/otn/leftTicket/init'

self.driver_name = 'chrome'

self.executable_path = 'C:\python\chromedriver.exe'

2. 实现登录功能

def login(self):

self.driver.visit(self.login_url)

self.driver.fill('loginUserDTO.user_name', self.username)

# sleep(1)

self.driver.fill('userDTO.password', self.passwd)

# sleep(1)

print('请输入验证码...')

while True:

if self
  • 7
    点赞
  • 108
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
很抱歉,我无法直接提供代码。但是,根据引用中提到的自动化抢票程序的思路,你可以使用Python来编写一个简单的爬虫程序实现抢票功能。 以下是一种可能的实现方式: 1. 导入所需的库,例如requests和BeautifulSoup。 2. 使用requests库发送HTTP请求来获取相关页面的HTML内容。 3. 使用BeautifulSoup库解析HTML内容,提取出需要的信息,如车次、座位等。 4. 编写逻辑来判断是否满足抢票条件,如座位是否有余量。 5. 如果满足条件,使用requests库发送POST请求,模拟用户操作进行抢票。 6. 将抢票结果通过绑定的邮箱发送通知。 请注意,具体的代码实现可能会根据具体的抢票网站和需求有所不同,所以你可能需要根据实际情况进行适当的调整和修改。 如果想了解更多关于Python爬虫抢票的代码,建议参考一些相关的教程和文档,这些资源通常提供了更详细的代码示例和操作步骤,有助于你更好地理解和实践。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Python:基于Python爬虫技术抢票程序及其实现](https://blog.csdn.net/Yuki1127918/article/details/129879707)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [最近演唱会挺多的,今天就分享下怎么用Python自动抢票吧!](https://blog.csdn.net/m0_59162248/article/details/129355264)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值