前段時間,領導說列一下某頁面上的所有國家信息,話說這個國家下拉框里的國家有兩三百個,是第三方模塊導入的,手動從頁面拷貝,不切實際,於是想着用爬蟲去獲取這個國家信息,並保存到文件里。
下面是具體的代碼,寫的也是比較簡單,
第一種:利用Selenium操作頁面,獲取下拉國家列表的信息,並保存到文件里
from selenium import webdriver import xlwt driver = webdriver.Chrome('C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe') driver.get('https://xxx.xx.com/contact') countries = driver.find_element_by_id('country')#獲取country dropdownlist options_list = countries.find_elements_by_tag_name('option') options = [] for option in options_list: #獲取country dropdownlist里所有的數據 options.append(option.text) with open('country_list.txt','w+', encoding='utf-8') as f: for i in options: if i != 'Select your country': f.write(i+'\n') driver.quit()
第二種:利用pyquery
from pyquery import PyQuery as pq doc = pq('https://xxx/contact') countries = doc('select')('#country').text() with open('country_list.txt','w+', encoding='utf-8') as f: f.write(countries)
發現用Pyquery實現更加的簡單,一句 countries = doc('select')('#country').text() 就搞定了。