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() 就搞定了。

 

posted @ 2018-02-15 17:48  nancy05  阅读(4723)  评论(1编辑  收藏  举报