天天看点

12306抢票系统无界面版本——(3)获取个人信息

获取个人信息

我们打开着开发者工具,点击查看个人信息。可以在Network中看到一个名为initQueryUserInfo的响应。

12306抢票系统无界面版本——(3)获取个人信息

这其中的

Request URL:https://kyfw.12306.cn/otn/modifyUser/initQueryUserInfo

我们在登录状态下便是图中左边的页面。

所以我们可以通过BeautifulSoup解析来得到其中的内容

def information(self,headers):
infourl='https://kyfw.12306.cn/otn/modifyUser/initQueryUserInfo'#个人信息
data={
    '_json_att':''      
}
response = self.session.post(infourl,headers=headers,data=data)
soup=BeautifulSoup( response.text,"lxml")


for i in range():
    div=soup.find('div',attrs={'class':'layout order'})
    div=div.find('div',attrs={'class':'lay-bd'})
    #三个分块
    ###第一块basic_info_view
    ##第二块relation_way_view
    ##第三块append_info_view
    if i==:
        id='basic_info_view'
    elif i==:
        id='relation_way_view'
    else:
        id='append_info_view'
    div=div.find('div',attrs={'id':id})
    divs=div.find_all('div',attrs={'class':'info-item'})
    for div in divs:
        result1=div.span.text
        result2=div.div.text
        print(result1.replace('*',''),result2)
           

这里我已经将它封装为一个方法,需要在登录状态中才能获取其中的个人信息。

12306抢票系统无界面版本——(3)获取个人信息

代码运行结果。

继续阅读