zoukankan      html  css  js  c++  java
  • xpath案例-全国城市名爬取

    #!/usr/bin/python
    
    import requests 
    from lxml import etree 
    #项目需求:解析出所有的城市名称https://www.aqistudy.cn/historydata/
    
    if __name__ == "__main__":
        # headers = {
        #     'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2626.106 Safari/537.36'
        # }
    
        # url = 'https://www.aqistudy.cn/historydata/'
        # page_text = requests.get(url=url,headers=headers).text
    
        # tree = etree.HTML(page_text)
        # host_li_list = tree.xpath('//div[@class="bottom"]/ul/li')
        # all_city_names = []
        # #解析到了热门城市的名称
        # for li in host_li_list:
        #     hot_city_name = li.xpath('./a/text()')[0]
        #     all_city_names.append(hot_city_name)
    
    
        # #解析的是全部城市的名称
        # city_names_list = tree.xpath('//div[@class="bottom"]/ul/div[2]/li')
        # for li in city_names_list:
        #     city_name = li.xpath('./a/text()')[0]
        #     all_city_names.append(city_name)
    
    
        # print(all_city_names,len(all_city_names))
    
    
    
    
        headers = {
            'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2626.106 Safari/537.36'
        }
    
        url = 'https://www.aqistudy.cn/historydata/'
        page_text = requests.get(url=url,headers=headers).text
    
        tree = etree.HTML(page_text)
        #解析到热门城市和所有城市对应的a标签
        #   //div[@class="bottom"]/ul/li/          热门城市a标签的层级关系
        #   //div[@class="bottom"]/ul/div[2]/li/a  所有城市a标签的层级关系
        a_list= tree.xpath('//div[@class="bottom"]/ul/li/a | //div[@class="bottom"]/ul/div[2]/li/a')
        all_city_names = []
        for a in a_list:
            city_name = a.xpath('./text()')[0]
            all_city_names.append(city_name)
        print(all_city_names,len(all_city_names))
    
  • 相关阅读:
    html集合
    pyautocad
    CAD 批量提取点坐标,实现坐标的快速提取
    CAD
    python模块
    set,get,setter
    1 Http的表皮
    (6)小项目------完善增删改查的操作
    SSM学习笔记(6)---拦截器
    SSM学习笔记(5)-CGLIB动态代理
  • 原文地址:https://www.cnblogs.com/gerenboke/p/13389036.html
Copyright © 2011-2022 走看看