nancyzhu

前段时间,领导说列一下某页面上的所有国家信息,话说这个国家下拉框里的国家有两三百个,是第三方模块导入的,手动从页面拷贝,不切实际,于是想着用爬虫去获取这个国家信息,并保存到文件里。

下面是具体的代码,写的也是比较简单,

第一种:利用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() 就搞定了。

 

分类:

技术点:

相关文章: