python 利用爬虫获取页面上下拉框里的所有国家
前段时间,领导说列一下某页面上的所有国家信息,话说这个国家下拉框里的国家有两三百个,是第三方模块导入的,手动从页面拷贝,不切实际,于是想着用爬虫去获取这个国家信息,并保存到文件里。
下面是具体的代码,写的也是比较简单,
第一种:利用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() 就搞定了。