第一種方法把熱門城市和所有城市分開來考慮
import requests
from lxml import etree
if __name__==
'__main__'
: headers =
url=
''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:
all_city_name = li.xpath(
'./a/text()')[
0]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]print
(all_city_names,
len(all_city_names)
)
第二種方法用或的方法合起來考慮
import requests
from lxml import etree
if __name__==
'__main__'
: headers =
url=
''page_text = requests.get(url=url,headers=headers)
.text
tree=etree.html(page_text)
#解析到熱門城市和所有城市對應的a標籤
# //div[@class="bottom"]/ul/li/a 熱門城市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]print
(all_city_names,
len(all_city_names)
)
xpath案例 全國城市名爬取
usr bin python import requests from lxml import etree 專案需求 解析出所有的城市名稱 if name main headers url page text requests.get url url,headers headers text tre...
根據IP定位城市名稱 經緯度
最近想統計下公司使用者在中國地圖上的分別情況,但使用者登錄檔中填寫的單位資訊比較混亂,提取省份 城市名稱較困難,最後決定用ip位址來查詢對應資訊。搜尋到兩種常用的方式 採用純真資料庫qqwry.dat,傳入ip返回省 城市名稱,無經緯度資訊 缺點 返回的位址資訊太詳細,有的能定位到小區名稱,不利於歸...
xpath解析小案例
coding utf 8 time 2020 9 25 9 34 author awayasaway file 全國城市名稱爬取.py ide pycharm url import requests from lxml import etree import xlrd deftest headers...