# -*- coding:utf-8 -*-

import urllib2
import lxml.html
from lxml import etree def main():
file = open('./countrys.txt', 'w+')
file.close()
countrys = []
url = 'https://guojiadiqu.51240.com/'
html = urllib2.urlopen(url).read()
# tree = lxml.html.fromstring(html)
# td = tree.cssselect('div#main_content > ul.list > li > a > @href')[0]
selector = etree.HTML(html)
uls = selector.xpath('//div[@id="main_content"]/ul')
for ul in uls:
lis = ul.xpath('./li')
for li in lis:
country_infos = {}
key = li.xpath('./a/text()')[0]
value = 'https://guojiadiqu.51240.com' + li.xpath('./a/@href')[0].strip()
country_infos[key] = value
countrys.append(country_infos)
return get_capital(countrys) def get_capital(list):
i = 0
for country in list:
i += 1
name = country.keys()[0]
url = country.values()[0]
html = urllib2.urlopen(url).read()
tree = etree.HTML(html)
tr = tree.xpath('//div[@id="main_content"]/table')[0]
tr1 = tr.xpath('./tr/td/table/tr')
tr2 = tr1[2].xpath('./td/text()')
file = open('./countrys.txt', 'a')
if len(tr2) > 0:
content = str(i) + ' ' + name + '\n ' + tr2[0] + '\n'
else:
content = str(i) + ' ' + name + '\n' + ' \n'
file.write(content.encode('utf-8'))
file.close() if __name__ == "__main__":
main()

爬虫-----爬取所有国家的首都、面积 ,并保存到txt文件中的更多相关文章

  1. python爬取当当网的书籍信息并保存到csv文件

    python爬取当当网的书籍信息并保存到csv文件 依赖的库: requests #用来获取页面内容 BeautifulSoup #opython3不能安装BeautifulSoup,但可以安装Bea ...

  2. 第二个爬虫之爬取知乎用户回答和文章并将所有内容保存到txt文件中

    自从这两天开始学爬虫,就一直想做个爬虫爬知乎.于是就开始动手了. 知乎用户动态采取的是动态加载的方式,也就是先加载一部分的动态,要一直滑道底才会加载另一部分的动态.要爬取全部的动态,就得先获取全部的u ...

  3. 爬取前尘无忧python职位信息并保存到mongo数据库

    1.re实现 import re,os import requests from requests.exceptions import RequestException MAX_PAGE = 10 # ...

  4. Python爬虫爬取豆瓣电影名称和链接,分别存入txt,excel和数据库

    前提条件是python操作excel和数据库的环境配置是完整的,这个需要在python中安装导入相关依赖包: 实现的具体代码如下: #!/usr/bin/python# -*- coding: utf ...

  5. 爬取网贷之家平台数据保存到mysql数据库

    # coding utf-8 import requests import json import datetime import pymysql user_agent = 'User-Agent: ...

  6. python selenium爬取自如租房数据保存到TXT文件

    # -*- coding: utf-8 -*-"""Created on Fri Aug 31  2018 @author: chenlinlab"" ...

  7. 使用scrapy爬取的数据保存到CSV文件中,不使用命令

    pipelines.py文件中 import codecs import csv # 保存到CSV文件中 class CsvPipeline(object): def __init__(self): ...

  8. 爬取博主的所有文章并保存为PDF文件

    继续改进上一个项目,上次我们爬取了所有文章,但是保存为TXT文件,查看不方便,而且还无法保存文章中的代码和图片. 所以这次保存为PDF文件,方便查看. 需要的工具: 1.wkhtmltopdf安装包, ...

  9. 如何使用robots禁止各大搜索引擎爬虫爬取网站

    ps:由于公司网站配置的测试环境被百度爬虫抓取,干扰了线上正常环境的使用,刚好看到每次搜索淘宝时,都会有一句由于robots.txt文件存在限制指令无法提供内容描述,于是便去学习了一波 1.原来一般来 ...

随机推荐

  1. 【Android】setXfermode属性

    1.下面的Xfermode子类可以改变这种行为: AvoidXfermode  指定了一个颜色和容差,强制Paint避免在它上面绘图(或者只在它上面绘图). PixelXorXfermode  当覆盖 ...

  2. Python3-Cookbook总结 - 第一章:数据结构和算法

    第一章:数据结构和算法 Python 提供了大量的内置数据结构,包括列表,集合以及字典.大多数情况下使用这些数据结构是很简单的. 但是,我们也会经常碰到到诸如查询,排序和过滤等等这些普遍存在的问题. ...

  3. 详述 hosts 文件的作用及修改 hosts 文件的方法

    1 什么是hosts文件? hosts是一个没有扩展名的系统文件,其基本作用就是将一些常用的网址域名与其对应的 IP 地址建立一个关联“ 数据库 ”.当用户在浏览器中输入一个需要登录的网址时,系统会首 ...

  4. python使用urllib2 http 下载参数的try catch

    import urllib2 req = urllib2.Request('http://blog.csdn.net/cqcre')try: urllib2.urlopen(req)except ur ...

  5. centos如何设置固定IP

    ### centos6.5版本 编辑ifcfg-eth0 vi /etc/sysconfig/network-scripts/ifcfg-eth0 参照下面代码修改自己的配置 ############ ...

  6. MVC:添加Html辅助器

    本文的方法来自 <精通asp.net Mvc5>. 一.添加视图模型 为了支持Html辅助器方法,可以把可用页面数,当前面,以及存储库中产品数等信息传递给视图.在Model文件夹内增加一个 ...

  7. jmeter--001.介绍、下载与安装

    一.介绍 使用场景: -1.接口测试 -2.性能测试 .... 特点: -1.开源.轻量级.插件化 -2.适合自动化和持续集成 二.下载(Windows环境) 下载网址:http://jmeter.a ...

  8. Java try-cath-finally异常

    Java 内置异常类 Java 语言定义了一些异常类在 java.lang 标准包中. 标准运行时异常类的子类是最常见的异常类.由于 java.lang 包是默认加载到所有的 Java 程序的,所以大 ...

  9. 1#Two Sum(qsort用法)

    void*空类型指针,就好像暂时还没有确定类型,任何类型都可以赋给它.但是具体操作时一定要确定类型(如下,比较时先转Node) cmp返回一定是int,有-1,0,1三种,如果是1则第一个数要放在第二 ...

  10. <iframe>和<frame>区别

    1.frame不能脱离frameSet单独使用,iframe可以 2.frame不能放在body中,否则不能正常显示 frame不能和body同时使用 <!--<body>--> ...