python爬虫第六讲-正则表达式上

该博客展示了如何使用Python的requests库来访问12306官网查询火车票信息。通过设置User-Agent和Cookie,发送GET请求获取JSON格式的数据,并解析出指定的票务信息。示例代码中提取了车次和商务特等座的可用座位数。
摘要由CSDN通过智能技术生成

普通方式12306查票

import json
import requests


def ticket_checking():
    url = 'https://kyfw.12306.cn/otn/leftTicket/query?leftTicketDTO.train_date=2021-06-05&leftTicketDTO.from_station=BJP&leftTicketDTO.to_station=SHH&purpose_codes=ADULT'
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36',
        'Cookie': '_uab_collina=162286458314322450377165; JSESSIONID=F19E4CABF0446E168D6FA50C4CB87A28; BIGipServerotn=4057399562.64545.0000; BIGipServerpassport=837288202.50215.0000; RAIL_EXPIRATION=1623160466085; RAIL_DEVICEID=Q6gzZjoudUOX9zK7gEyEG7ukgCdfXm1U9VjOGA5pnMu64NdJT4sF007MAUP42q9chyI7f61jfW-4qaYsn7_2GR97tHR55f6YpxDsPw1nN6uR2N2mnkJ607nhXu-I902HqEX0YCK4ATiixksIMnNi8EWgZk1Uxi_w; route=6f50b51faa11b987e576cdb301e545c4; _jc_save_fromStation=%u5317%u4EAC%2CBJP; _jc_save_toStation=%u4E0A%u6D77%2CSHH; _jc_save_fromDate=2021-06-05; _jc_save_toDate=2021-06-05; _jc_save_wfdc_flag=dc'

    }
    req = requests.get(url, headers=headers)
    # print(req.content.decode(encoding='utf-8'))  # 得到结果是一个json格式的数据
    return req.json()["data"]["result"]


for i in ticket_checking():
    lst = i.split(sep='|')
    print(f'{lst[3]}有商务特等座{lst[32]}个')
    # n = 0  # 给数据编索引
    # for j in lst:
    #     print(n, j)
    #     n += 1

正则表达式

点此链接查看

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Python 爬虫中,正则表达式是非常常用的技术,可以帮助我们从网页中提取出需要的信息。下面是一些常用的正则表达式符号和方法: 1. ".":匹配任意单个字符,除了换行符。 2. "^":匹配字符串的开始位置。 3. "$":匹配字符串的结束位置。 4. "*":匹配前一个字符出现 0 次或多次。 5. "+":匹配前一个字符出现 1 次或多次。 6. "?":匹配前一个字符出现 0 次或 1 次。 7. "{m}":匹配前一个字符出现 m 次。 8. "{m,n}":匹配前一个字符出现 m 到 n 次。 9. "(...)":分组匹配,匹配括号内的表达式。 10. "[...]":匹配括号内的任意一个字符。 11. "[^...]":匹配不在括号内的任意一个字符。 12. "\d":匹配数字,等同于 [0-9]。 13. "\D":匹配非数字,等同于 [^0-9]。 14. "\s":匹配空白字符,包括空格、制表符、换行符等。 15. "\S":匹配非空白字符。 16. "\w":匹配单词字符,包括字母、数字、下划线。 17. "\W":匹配非单词字符。 在 Python 中,使用 re 模块进行正则表达式的匹配。常用的方法包括: 1. re.compile(pattern):将正则表达式编译成一个对象,提高匹配效率。 2. re.search(pattern, string):在字符串中搜索匹配正则表达式的第一个位置。 3. re.findall(pattern, string):在字符串中搜索匹配正则表达式的所有位置,并返回一个列表。 4. re.sub(pattern, repl, string):将字符串中所有匹配正则表达式的字符替换为指定的字符串。 以上是一些常用的正则表达式符号和方法,希望能对你有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

yerennuo

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

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

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

打赏作者

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

抵扣说明:

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

余额充值