zoukankan      html  css  js  c++  java
  • 广州公交线路爬虫

    以前出去代步工具最多都是公交,地铁还没有不好意思,看到公交站牌一堆堆的公交车号和公交车线路,头都晕。这次作业突然就想了解下现在公交车到底有多少线路,途径哪里。所以这次爬取了公交线路信息。

    爬取基本信息:

     html_bus = all_url + href1  
            thrid_html = requests.get(html_bus, headers=headers)
            Soup3 = BeautifulSoup(thrid_html.text, 'html.parser')  
            bus_name = Soup3.find('div', class_='bus_i_t1').find('h1').get_text()  
            bus_type = Soup3.find('div', class_='bus_i_t1').find('a').get_text()  
            bus_time = Soup3.find_all('p', class_='bus_i_t4')[0].get_text() 
            bus_cost = Soup3.find_all('p', class_='bus_i_t4')[1].get_text() 
            bus_company = Soup3.find_all('p', class_='bus_i_t4')[2].find('a').get_text() 
            bus_update = Soup3.find_all('p', class_='bus_i_t4')[3].get_text()  
            bus_label = Soup3.find('div', class_='bus_label')
            if bus_label:
                bus_length = bus_label.get_text() 
            else:
                bus_length = []
            print(bus_name, bus_type, bus_time, bus_cost, bus_company, bus_update)
            all_line = Soup3.find_all('div', class_='bus_line_top') 
            all_site = Soup3.find_all('div', class_='bus_line_site')  
            line_x = all_line[0].find('div', class_='bus_line_txt').get_text()[:-9] + all_line[0].find_all('span')[
                -1].get_text()
            sites_x = all_site[0].find_all('a')
            sites_x_list = []  
            for site_x in sites_x:
                sites_x_list.append(site_x.get_text())

    把爬取出来的信息保存到csv文档:

    def text_save(content, filename, mode='a'):
        file = open(filename, mode, encoding='utf-8')
        for i in range(len(content)):
            file.write(str(content[i]) + '
    ')
        file.close()
     
    text_save(Network_list, 'gzcc.csv')
    

    词云生成:

    1、查询票价前十的站点及公交车号

    select busname,time,piaojia from bus2 ORDER BY(piaojia) DESC;
    

     这些车如果坐的站少会很亏喔!

    2、查询普遍票价为多少钱

    select piaojia,count(piaojia) from bus2 group by(piaojia);
    

     图中开出很明显两元的票价最为普遍。

    3、公交车经过站数情况

    select busname,zhanshu from bus2 ORDER BY(zhanshu) DESC;
    

     

    广州最多的一条线有55个站,身为经历过345A煎熬的广商学生也才31个站。

     4、站数和票价的关系

    由图中看出站数和票价没有实际联系。

    5、广州汽车公司种类

    广州有8个巴士公司。

    6、各种汽车公司规模

    select gongshi,count(gongshi) from bus2 group by(gonshi);
    

    由图可知第一巴士公司是广州的汽车龙头公司拥有的线路最多,第二和第三差不多,最少线路是马会巴士。

    7、各公司汽车的票价情况

    第一巴士票价情况:

    第二巴士票价情况:

    第三巴士票价情况

     

    马会巴士票价情况:

     

    花都恒通票价情况:

     

    番广公司票价情况:

     

    沙溢巴士票价情况:

     

    新福利巴士票价情况:

     

     规模最大的第一巴士票价在1-3元并不是越大的公司就有越贵票价的路线,而规模小的公司反而有票价贵的路线。说明票价和公司规模无关。

    综合上面的分析汽车票价只与路段有关。

    8、各路公交车发车时间情况

    公交开的时间都很早,一般到晚上10点多就结束。

    9、汽车改变道路的原因

    配合地铁,公共汽车服务指引和公共中小巴服务指引在该表车道的原因中占比较大。

    10、广州公交种类数

    广州有701种公交线路。

  • 相关阅读:
    spring揭秘 读书笔记 六 bean的一生
    分枝限界算法
    libLAS1.8.0 编译和配置(VS2013+Win7 64)(一)
    Unity学习笔记 之 发射小球碰撞物体的代码记录
    hdu1281 棋盘游戏 --- 最大匹配
    javascript设计模式
    3、Android中Activity的跳转
    2.11 确定运行计划
    php扩展之 pdo_mysql.so
    POJ 1061 青蛙的约会(扩展欧几里得)
  • 原文地址:https://www.cnblogs.com/gswyz/p/10783195.html
Copyright © 2011-2022 走看看