古代地图,对于历史相关研究人员,是需要的工具,本想找到历代矢量的历史地图数据,但是发现很难有资源,因此只能找到已经公开制图了jpg数据,如果你有耐心,可以配准后矢量化,获取历代矢量数据,不够工作量浩大。爬取历代行政区划图的步骤如下:

一、首先,找到资源的地址,这里使用的网站是国学大师网。
利用谷歌浏览器,查找爬取地址:

图上标出的链接,即为图片在网站服务器存放的地址。只需要利用爬虫函数下载到本地就行了。

二、获取网页前端源代码,查找a标签

url = 'http://www.guoxuedashi.com/lsditu/'+str(i)+'/'
html = requests.get(url).text
soup=BeautifulSoup(html,'html.parser')
a=soup.select('a')

这里是将html代码全部copy下来,然后转换格式,找到html代码中a标签中内容,我们需要的网址就在a标签中

三、遍历a标签,找到我们需要的那个网址

for i in a:aObj = re.match(r"http://pic.guoxuedashi.com/lsditu/", i['href'])if aObj:url = i['href']

这里使用 re.match匹配网址链接,如果是http://pic.guoxuedashi.com/lsditu/开头的,则获取这个,即我们需要的那个

四、这里拼接文件夹地址以及文件名,将jpg写入该文件夹

name = url.split('/')
#print(name[4])
r = requests.get(i['href'])
os.makedirs('./image/'+name[4]+'/', exist_ok=True)
#DOWNLOAD_DELAY = 3
with open('./image/'+name[4]+'/'+name[5]+'.png', 'wb') as f:f.write(r.content)print(name[5]+'.png')

其中核心在于 f.write(r.content),即将jpg图片写入拼接好的文件夹路径

五、注意网站的反爬虫机制

socket.setdefaulttimeout(20)  # 设置socket层的超时时间为20秒
r.close()
time.sleep(2)

上面第一个为设置超时时间,第二个为关闭请求,每次爬取一次结束后关闭,第三个为设置睡眠时间,这样能降低服务器对于爬虫的应激反应。

爬取的效果如下:


共1.3个G,局部细节如下,以我喜欢的北宋地图为例:



所有数据我已经打包好,网盘地址:
链接:https://pan.baidu.com/s/1v8PgeKTfe5ExXRF8QN6Xpw
提取码:niq1

关注微信公众号:python趣味爱好者,后台回复:历代行政图,可以获取该完整源代码文件。
二维码如下:

利用python爬取历代中国行政图,从先周到中华人民共和国,jpg格式边框带经纬度,可自行配准矢量化相关推荐

  1. 利用python爬取2019-nCoV确诊数据并制作pyecharts可视化地图

    1.本章利用python爬取2019-nCoV确诊数据并制作pyecharts可视化地图: 2.主要内容为绘制出中国各省疫情数据,疫情数据从四个维度进行可视化展示:累积确诊人数.现存确诊人数.治愈人数 ...

  2. python 怎么爬桌软件数据_如何利用Python爬取并分析红岭创投的数据?

    第一步:爬取数据 通过 selenium + Firefox 的无头模式将需要的数据爬取出来,代码实现不在赘述,详细步骤可查看我的上一篇图文(如何利用Python爬取网易新闻), 由于 seleniu ...

  3. 利用python爬取东方财富网股吧评论并进行情感分析(一)

    利用python爬取东方财富网股吧评论(一) python-东方财富网贴吧文本数据爬取 分享一下写论文时爬数据用到的代码,有什么问题或者改善的建议的话小伙伴们一起评论区讨论.涉及内容在前人的研究基础之 ...

  4. 利用Python爬取一加云服务的所有照片(原图)

    利用Python爬取一加云服务的所有照片(原图) 一.使用工具 二.cookies和headers提取 三.Python源代码下载 一.使用工具 1.Python3.8(理论上Python3都可使用) ...

  5. python爬取boss直聘招聘信息_年底啦,利用Python爬取Boss直聘的招聘信息,为明年跳槽做准备...

    原标题:年底啦,利用Python爬取Boss直聘的招聘信息,为明年跳槽做准备 前言 为什么都说程序员的薪资高,但是刚开始入职的你,薪资并不是自己想象中的那样,首先是你的工作经验不足,其次就是需要不断的 ...

  6. 利用python爬取猫眼电影,分析《大侦探皮卡丘》|凹凸数读

    利用python爬取猫眼电影,分析<大侦探皮卡丘>,看看当皮卡丘长出绒毛,"丑拒"还是"真香"都在猫眼短评里了. 本文首发于微信公众号<凹凸数 ...

  7. 利用Python爬取全国250m精度的人口数据

    此次以GeoQ(智图)为基础,利用Python爬取全国250m精度的人口数据(GeoQ)这个网站开放过250m精度的人口分布数据,而且人口分布有年龄分段等属性.先得注册登录到达创建地图的界面. 看人口 ...

  8. 利用Python爬取全国250m精度的人口数据(GeoQ)、房价数据和公交站(线路)等数据

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 中原百科 GIS大师兄 PS:如有需要Python学习资料的小伙伴可 ...

  9. 深夜,我用python爬取了整个斗图网站,不服来斗

    深夜,我用python爬取了整个斗图网站,不服来斗 QQ.微信斗图总是斗不过,索性直接来爬斗图网,我有整个网站的图,不服来斗. 废话不多说,选取的网站为斗图啦,我们先简单来看一下网站的结构 网页信息 ...

最新文章

  1. POJ 1679 判断最小树是否唯一
  2. 鸡啄米:添加控件变量
  3. spring boot: 计划任务@ EnableScheduling和@Scheduled
  4. Object调用静态方法
  5. 如何更改计算机开机壁纸,win7开机登录界面的壁纸怎么修改
  6. Matlab之正态拟合直方图绘制函数histfit
  7. 从来不流鼻涕php没有毛病,睡觉的时候为什么不会流鼻涕?
  8. 国内外无线传感器网络专利分析
  9. 可测空间、测度空间及σ-代数
  10. 2018腾讯实习生招聘笔试题
  11. 某站的视频下载与合并,m4s的处理。
  12. python中的join是什么意思_python里join是什么意思
  13. (附源码)springboot大学生防疫封校管理系统 毕业设计632124
  14. 打造一台“苹果范儿”的 Linux 系统,桌面美化攻略来了~
  15. Bootstrap3基础 table-responsive 响应式表格
  16. 【全文检索】sqlite-fts4和pgsql的全文检索对比
  17. 各种水果使用套袋的材料选择
  18. tools1.0.1
  19. 【C语言】例3.5 求方程的根
  20. AES-128加解密工具类

热门文章

  1. iphone计算机适配,适配iPhone用户!戴尔将支持iPhone投屏电脑
  2. QB64 -- C++编写的语言
  3. 局域网服务器时间显示,实现局域网内服务器时间同步的方法
  4. Windows 2000 安全更新程序 (KB980232)
  5. 2021年起重机械指挥新版试题及起重机械指挥考试试题
  6. 计算机毕业设计ssm全域旅游Web平台
  7. 如何在 Mac 上查看显示刷新率
  8. latex公式中的空格的几种表示方法
  9. 停车场停车系统软件测试报告,智慧停车场系统各大功能系统的详解
  10. 平板电脑性能测试软件,最新电脑性能测试软件PCMark 8正式登陆Steam