xpath爬取相应网址中的全部城市

本次爬取https://www.aqistudy.cn/historydata/中全部城市信息。
代码和上一次的大同小异,主要是有一处需要重点提一下。

a_list =tree.xpath('//div[@class="bottom"]/ul/li/a | //div[@class="bottom"]/ul/div[2]/li/a')

如果有俩出标签需要一起用可以用 | 符号,可以省去很多步骤,避免重复书写。
下面上代码。

import requests
from lxml import etree
if __name__=="__main__":
    headers = {
    
    
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3947.100 Safari/537.36'
    }
    url = 'https://www.aqistudy.cn/historydata/'
    page_text = requests.get(url=url, headers=headers).text
    # 实例化对象
    tree = etree.HTML(page_text)
    a_list =tree.xpath('//div[@class="bottom"]/ul/li/a | //div[@class="bottom"]/ul/div[2]/li/a')
    all_city_name = []
    for a in a_list:
        city_name = a.xpath('./text()')[0]
        all_city_name.append(city_name)
    print(all_city_name,len(all_city_name))

结果如下:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qwerty1372431588/article/details/106097160