爬取地名

写的比较简单,还需要近一步优化,比如采用模块的调用。

import requests
import re
import sys
import io


url=('http://www.tcmap.com.cn/yunnan/')  
html=requests.get(url)
html.encoding='gbk'
txt=html.text
#昆明
shi=re.findall('<strong><a href(.*?)</strong></td>',
               txt,re.S)
for shi1 in shi:
            csm=re.findall('class=blue>(.*?)</a>',
                           shi1,re.S)
            for csm1 in csm:
                        print(csm1)
                        wangye=re.findall('=(.*?)  class',
                                          shi1,re.S)
                        for wz in wangye:
                                    wz1=('http://www.tcmap.com.cn'+wz)
                                    ht1=requests.get(wz1)
                                    ht1.encoding='gbk'
                                    t1=ht1.text
                                    qu=re.findall('<strong><a href(.*?)</strong></td>',
                                                  t1,re.S)
                                    for qu1 in qu:
                                                qm=re.findall('class=blue>(.*?)</a>',
                           qu1,re.S)
                                                for qm1 in qm:
                                                            print('     '+qm1)
                                                            wangye2=re.findall('=(.*?)  class',
                                          qu1,re.S)
                                                            for wy2 in wangye2:
                                                                        wz2=('http://www.tcmap.com.cn'+wy2)
                                                                        ht2=requests.get(wz2)
                                                                        ht2.encoding='gbk'
                                                                        t2=ht2.text
                                                                        jiedao=re.findall('<strong><a href(.*?)</strong></td>',
                                                  t2,re.S)
                                                                        for jd in jiedao:
                                                                                    jdm=re.findall('class=blue>(.*?)</a>',
                                                                                                   jd,re.S)
                                                                                    for jm in jdm:
                                                                                                print('        '+jm)
                                                                                                wangye3=re.findall('=(.*?)  class',jd,re.S)
                                                                                                for wy3 in wangye3:
                                                                                                            wz3=('http://www.tcmap.com.cn'+wy3)
                                                                                                            ht3=requests.get(wz3)
                                                                                                            ht3.encoding='gbk'
                                                                                                            t3=ht3.text
                                                                                                            quyu=re.findall('<div class=f12 style="padding:0 0 0 10px;">(.*?)<a></a>',t3,re.S)
                                                                                                            for z in quyu:
                                                                                                                        print('          '+z)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值