python 爬取百度地圖的南京市公交站點

輸入公交路線,獲取路線上下行的公交站點名稱

import json
import math
import random
import re

from lxml import etree
import requests


headers = {
    'User-Agent': "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1"

}
def get_busline(num,ret):
    busline = ''
    html = etree.HTML(ret)
    bus_line = html.xpath("//span[@class='-ft-middle linename']/text()")
    for i in bus_line:
        busline+=i
        busline+='、'
    print(num,busline)

def get_busline1(num,ret):
    busline = ''
    html = etree.HTML(ret)
    bus_line = html.xpath("//span[@class='-ft-middle linename']/text()")
    for i in bus_line:
        busline+=i
        busline+='、'
    print(num,busline)

all_list = [3]
for i in all_list:
    tmp_url = 'https://map.baidu.com/mobile/webapp/place/detail/qt=s&da_src=shareurl&wd=%s路&c=315&src=0&wd2=南京市&uid=b51163a06b099516efdfca07/i=0&showall=1&pos=0&da_ref=listclk&da_qrtp=11&detail_from=list'%i

    tmp_url1 = 'https://map.baidu.com/mobile/webapp/place/detail/qt=s&da_src=shareurl&wd=%s路&c=315&src=0&wd2=南京市&uid=e1f89fcc20927666a80dd8e3/i=1&showall=1&pos=1&da_ref=listclk&da_qrtp=11&detail_from=list'%i

    page = requests.get(tmp_url, headers=headers)
    ret = page.content.decode('utf-8')

    page1 = requests.get(tmp_url1, headers=headers)
    try:
        ret1 = page1.content.decode('utf-8')
    except:
        ret1=''



    if ret1:
        get_busline(i,ret)
        get_busline1(i,ret1)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章