脚本在最后,可以直接试用,相关的库可能需要自己安装

第一步,你需要获得网页上下载文件地址的列表

用浏览器查看页面源文件得到 />

可以看到,这个格式是很清晰的,用xpath获得列表即可,

这部分你可以去网上找相关教程,这部分的代码如下:

Host = 'http://cnn.csail.mit.edu/motif_occupancy/'

response = requests.get(Host).content

selector = html.fromstring(response)

book_list = selector.xpath('//table//a//@href')

# 去除部分表头元素

book_list = filter(lambda x: x.startswith('wg'), book_list)

第二步,进入其中一个下载列表

查看页面源文件得到 />

我只看了若干的几个,假设任意一个都是这种格式,那么相关的连接无需搜索即可手动确定

第三步,在本地创建文件夹,并保存文件

# 在需要的地方建立文件夹

os.system('mkdir -p %s' % book)

for category in ['train.data', 'test.data']:

url = Host + book + category

headers["Referer"] = Host + book

a = requests.get(url, headers = headers)

xxx

with open(os.path.join(book, category), 'wb') as f:

f.write(requests.get(url).content)

现在的问题是,不知道什么原因,我这边的网络下载文件速率巨慢,大概1分钟3M的样子,可能是网络的原因吧,如果题主下载速率还可以,那就没问题,如果也不行,你只能自己找找原因了。我这边浏览器下载文件也很慢,看来网站并没有抑制爬虫的措施。

整体代码为

#!/usr/local/bin/python3

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

import requests

from lxml import html

import os

headers = {"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0.1 Safari/605.1.15",

"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",

"Referer": "",

"DNT": "1",

}

Host = 'http://cnn.csail.mit.edu/motif_occupancy/'

response = requests.get(Host).content

selector = html.fromstring(response)

book_list = selector.xpath('//table//a//@href')

# 去除部分表头元素

book_list = filter(lambda x: x.startswith('wg'), book_list)

for book in book_list:

# 在需要的地方建立文件夹

os.system('mkdir -p %s' % book)

for category in ['train.data', 'test.data']:

url = Host + book + category

headers["Referer"] = Host + book

with open(os.path.join(book, category), 'wb') as f:

f.write(requests.get(url, headers = headers).content)

如何用python创建一个下载网站-如何写一个python脚本下载文件??相关推荐

  1. 用 Python 的GUI 库 PySimpleGUI,写一个肥胖指数计算工具,Python开发就是这么简单

    Python 的 GUI 库 PySimpleGUI,写一个简单的有界面的小工具很简单!这里我们来写一个计算肥胖指数(BMI)的小工具.首先,通过百度得到 BMI 指数的计算公式为: 体重 / (身高 ...

  2. 视频下载网站链接:B站视频下载链接

    视频下载网站链接:B站视频下载链接 链接: 视频下载网站链接:B站视频下载链接

  3. [廖雪峰python教程列表生成器练习]杨辉三角定义如下,把每一行看做一个list,试写一个generator,不断输出下一行的list

    杨辉三角定义如下: 1/ \1 1/ \ / \1 2 1/ \ / \ / \1 3 3 1/ \ / \ / \ / \1 4 6 4 1/ \ / \ / \ / \ / \ 1 5 10 10 ...

  4. 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。

    给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1. JAVA: class So ...

  5. 全网最优质的电子书资源下载网站,每一个都让你爽翻天!

    小伙伴们平时闲暇的时候都是利用什么来打发时间的呢?我想无非都是去打打游戏或者看看电视,看看小说,对于游戏或者电视,小编知道这些我们只要下载应用就可以做到,但是对于小说来说,大部分都是比较难找,而且还要 ...

  6. python 程序块 挂掉的服务_写一个python的服务监控程序

    写一个python的服务监控程序 前言: Redhat下安装Python2.7 rhel6.4自带的是2.6, 发现有的机器是python2.4. 到python站点下载源码.解压到Redhat上.然 ...

  7. python创建字典和包的区别_[Python]-10-模块与包

    引言 这篇文章介绍python中模块和包的概念. 文章目录 0×1.如何导入模块 简单的讲,模块就是可以扩展python功能的一些对象的集合,可以是类,方法,或者简单的数值对象,他们被存放在一个或多个 ...

  8. 怎么用python爬取整个网站_5分钟学会Python爬取整个网站

    本图文配套视频演示 爬取网站的步骤: 设定爬取目标 目标网站:我自己的博客,疯狂的蚂蚁 http://www.crazyant.net 目标数据:所有博客文章的 - 链接.标题.标签 2. 分析目标网 ...

  9. 用 python+tkinter+有道云API 写一个自用的背单词软件

    目录 导语 程序功能 需要用的工具 需要安装的python包 程序代码 功能类函数Functions 键盘响应 窗体设置 Sql连接 Gui程序打包 结语 参考文献 导语 最近在学英语,新单词需要反复 ...

最新文章

  1. mysql之 表数据存放路径非datadir目录
  2. 对象工厂PHP,php – 有一个工厂用于创建对象的好处?
  3. ubuntu下docker的安装及更换镜像源
  4. 利用Topshelf把.NET Core Generic Host管理的应用程序部署为Windows服务
  5. 【C语言】单链表的相关热点面试题(包括:从尾到头打印,逆置,冒泡,寻找中间节点,倒数k节点)
  6. 前端学习(1897)vue之电商管理系统电商系统之实现搜索功能
  7. js进栈出栈_JavaScript调用栈
  8. freemark判断传过来的值为空和不为空及问号、感叹号用法
  9. 希望 线段树 01背包
  10. coreldrawx4缩略图显示不出来_CDR不显示缩略图的3种终极解决办法!
  11. 最大流算法之Dinic
  12. windows10磁盘100%解决方法
  13. 实验二 (一) 大小写英文字母表
  14. IPTV的开展在广电企业、电信运营商角度上的异同
  15. C++面向对象程序设计大作业:魔兽世界(三):开战
  16. 微型计算机的型号是奔四800,第1章 微型计算机基础知识
  17. mac虚拟机不能识别 iphone或u盘
  18. 「微服务架构」基于NGINX的三种微服务参考架构
  19. poj1094 Sorting It All Out(拓扑排序+传递闭包)
  20. 【安卓】Android播放器的三种实现方法

热门文章

  1. 拨出网线后,网卡IP丢失
  2. 2.Unity3d常用按键
  3. 走读OpenSSL代码----从一张奇怪的证书说起(五)
  4. SQL Server 2000 Service Pack 4 中所修复的 bug 的列表
  5. 百度地图轨迹开发,如何绘制带有箭头的折线
  6. 基于原子探索者stm32f407开发板的ucos-iii+lwip1.4.1的tcp server并发服务器完美解决例程(转)...
  7. Weblogic配置故障转移
  8. iOS基本UI控件总结
  9. 视频编辑SDK---我们只提供API,任你自由设计炫酷的功能
  10. 【2015 Week Task】