当前位置: 首页 > 编程日记 > 正文

python批量爬取文档

最近项目需要将批量链接中的pdf文档爬下来处理,根据以下步骤完成了任务:

  1. 将批量下载链接copy到text中,每行1个链接;
  2. 再读txt文档构造url_list列表,利用readlines返回以行为单位的列表;
  3. 利用str的rstrip方法,删除 string 字符串末尾的指定字符(默认为空格);
  4. 调用getFile函数:
    1. 通过指定分隔符‘/’对字符串进行切片,取list的最后一列即链接文档名作为下载文件名。
    2. 调用urlopen,调用read、write方法完成下载

参考资料:

  • https://blog.csdn.net/zhrq95/article/details/79300411
  • https://blog.csdn.net/yllifesong/article/details/81044619
 1 import urllib.request
 2 import os
 3 
 4 def getFile(url):
 5     file_name = url.split('/')[-1]
 6     u = urllib.request.urlopen(url)
 7     f = open(file_name, 'wb')
 8     block_sz = 8192
 9     while True:
10         buffer = u.read(block_sz)
11         if not buffer:
12             break
13         f.write(buffer)
14     f.close()
15     print("Sucessful to download" + " " + file_name)
16 
17 os.chdir(os.path.join(os.getcwd(), 'pdf_download'))
18 
19 f=open('E:/VGID_Text/url_list.txt')
20 url_list=f.readlines()
21 url_lst=[]
22 for line in url_list:
23     line=line.rstrip("\n")
24     getFile(line)

转载于:https://www.cnblogs.com/wind-chaser/p/10514449.html

相关文章:

[Android]webview直接加载网页允许JS,进度条,当前应用内跳转

webview,用于在应用里面直接加载网页本代码参考了:官方的webview实例介绍:https://developer.android.com/guide/tutorials/views/hello-webview.html 加上进度条: http://blog.csdn.net/stoneson/article/details/6068089 整个源…

ubuntu 14.04 安装java_Ubuntu 14.04中安装Java

第三:在Ubuntu 和 Linux Mint上安装Java看了各种类型"java";的不同之后,让我们看如何安装他们。1)在Ubuntu和Linux Mint上安装JRE打开终端,使用下面的命令安装JRE:sudo apt-get install default-jre2)在Ubuntu和Linux M…

C# 生成系统唯一号

生成唯一号:思路,根据yymmddhhmmss自增长号唯一服务器号( SystemNo)生成唯一码,总长度19,例如:1509281204550000101. public class UniqueNumber{private static long num 0;//流水号private static object lockObj …

EBS上用过的一些接口表整理信息

AP接口表:AP_INVOICES_INTERFACEAP_INVOICE_LINES_INTERFACE涉及的请求:应付款管理系统开放接口导入涉及案例: 运费导AP、费用导APPO接口表:申请:PO_REQUISITIONS_INTERFACE_ALL涉及请求:导入申请采购&…

linux源码编译安装nginx

1.从nginx的官方网站下载nginx的安装源码包,要下载.gz格式的包才是linux安装包 网址http://nginx.org/download/ wget http://nginx.org/download/nginx-1.5.9.tar.gz 2.解压 tar -zxvf nginx-1.5.9.tar.gz yum -y install pcre-devel gcc gcc-c autoconf automak…

usr share里没有mysql_无法在ubuntu 12.04上安装mysql,找不到消息文件’/usr/share/mysql/errmsg.sys’...

尝试使用apt-get安装mysql但它失败了# apt-get install MysqL-serverReading package lists... DoneBuilding dependency treeReading state information... DoneThe following extra packages will be installed:MysqL-server-5.5Suggested packages:tinycaThe following NEW …

android:更改PagerTabStrip背景颜色,标题字体样式、颜色和图标,以及指示条的颜色...

1.更改PagerTabStrip背景颜色我们直接在布局中设置background属性可以&#xff1a;<android.support.v4.view.ViewPagerandroid:id"id/pager"android:layout_width"fill_parent"android:layout_height"fill_parent" ><android.support.…

敏捷开发日常跟进系列之二:燃尽图(中)

这是敏捷开发日常跟进系列的第二篇&#xff08;栏目目录&#xff09;。 迭代及燃尽图的目标 燃尽图的目标是完成迭代的目标&#xff0c;迭代的目标是什么呢&#xff1f; 1. 按产品经理的要求&#xff0c;交付计划会中计划的用户故事 2. 尽量完成1 之后还会看到&#xff0c;这个…

[python][jupyter notebook]之菜鸟安装[pyecharts]中Geo或Map显示问题

作为菜鸟&#xff0c;在学习使用pyecharts模块进入jupyter notebook的时候&#xff0c;又遇到了问题——那就是&#xff0c;可以使用一下代码&#xff0c;导入Geo和Map模块&#xff0c;但是弄了之后看不见地图。 from pyecharts import Geo from pyecharts import Map 所以&…

c语言多线程mysql_多线程读写mysql数据库

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼unsigned int __stdcall scan(PVOID pM){char ip[20];strcpy(ip, (char*)pM);MYSQL mysql;MYSQL_RES* result;//初始化mysql句柄mysql_init(&mysql);//连接mysql数据库if(!mysql_real_connect(&mysql,"localhost"…

[C#,Java,PHP] - IMAP文件夹名称编码和解码方法

[C#] 来源&#xff1a;http://www.oschina.net/code/snippet_110991_2237 // 编码private string IMAPEncode(string folder){string rtn "", base64;int index 0; Regex regAsis new Regex("\G(?:[\x20-\x25\x27-\x7e])"); Regex reg26 new Rege…

fzu 2150 Fire Game 【身手BFS】

称号&#xff1a;fzu 2150 Fire Game &#xff1a;给出一个m*n的图&#xff0c;‘#’表示草坪&#xff0c;‘ . ’表示空地&#xff0c;然后能够选择在随意的两个草坪格子点火。火每 1 s会向周围四个格子扩散&#xff0c;问选择那两个点使得燃烧全部的草坪花费时间最小&#xf…

K-Means聚类算法原理

来自&#xff1a;https://www.cnblogs.com/pinard/p/6164214.html K-Means算法是无监督聚类算法&#xff0c;它有很多变体。包括初始化优化K-Means&#xff0c;距离计算优化elkan K-Means算法和大样本优化Mini Batch K-Means算法。 1. K-Means原理 K-Means算法思想&#xff1a;…

safari java插件故障_safari flash插件故障怎么办 mac safari flash插件故障解决方法

近几日&#xff0c;许多网友都在关注safari flash插件故障怎么办 mac safari flash插件故障解决方法这个话题&#xff0c;那么safari flash插件故障怎么办 mac safari flash插件故障解决方法具体情况是怎么样的呢&#xff1f;safari flash插件故障怎么办 mac safari flash插件故…

Traveller项目介绍

Traveller&#xff0c;翻译为旅行家&#xff0c;是我用来实践最佳web技术的项目&#xff0c;主题是一个给旅行爱好者提供旅行信息的网站。 目标是组合现最流行的web技术&#xff0c;实现符合中国用户使用习惯的网站。 相关网址 Git&#xff1a;https://github.com/mingziday/Tr…

窗口之间传递消息的一个方法

发送窗口的代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Wi…

docker制作镜像篇(基于容器)

docker制作镜像可以有两种方式&#xff1a;一、基于容器&#xff08;使用busybox制作http镜像&#xff09;1.首先运行一个容器2.在容器当中配置自己的http&#xff0c;添加web目录&#xff0c;增加主页文件等。3.查看原busybox运行容器时的默认启动程序&#xff08;原运行命令为…

java+js上传图片_java+ jsp+js 实现富文本编辑和上传图片功能

class FileManageActionController extends BaseAction{// windowsprivate String PATH_LINEs "\\";// linuxprivate String PATH_LINE "/";/*** 文件上传* param request {link HttpServletRequest}* param response {link HttpServletResponse}* retur…

Outlook接收qq的邮件

1.先去qq邮箱&#xff0c;设置&#xff0c;账户 开启pop3服务&#xff0c;假如之前开启过&#xff0c;最好关闭之后重新开启 最新版本的必须使用邮箱的独立密码才可以收取邮件 (否则就算你之前开通了&#xff0c;也无法用你的qq账号和密码收取邮件的) 2.高级设置里面&#xff0…

架构设计复杂度的6个来源

谈到架构设计&#xff0c;相信每个技术人员都耳熟能详。我总结了三个架构设计相关的特性&#xff1a; 架构设计的思维和程序设计的思维差异很大。架构设计没有体系化的培训和训练机制。程序员对架构设计的理解存在很多误区。 所以&#xff0c;虽然每个程序员心中都有一个成为架…

java swt 画按钮_向表中添加按钮(java swt)

我正在尝试复制类似于此的UI&#xff1a;我一直在关注如何创建表格每列中的按钮的作者说明(没有成功).我的项目与他的区别在于我正在尝试使用Tree而不是Table,而我正在使用eclipse TreeViewer插件进行上下文.从理论上讲,实现似乎应该是直截了当的,但我似乎无法让它发挥作用.这是…

在Windows7 下 mingw32 开发环境中采用 glut3.7 学习 OpenGL

2015年10月2日更新&#xff1a; 发现 freeglut 很好用兼容于 gut &#xff0c;而且开源还在更新中。因此我觉得放弃以前的 glut 了&#xff0c;转而用 freeglut 了。 买了本《计算机图形学第4版》想学习下图形学&#xff0c;但是书中的例子还是基于上古时期的 glut &#xff0c…

Spring Aop的应用

2019独角兽企业重金招聘Python工程师标准>>> AOP的基本概念 连接点&#xff08; Jointpoint&#xff09; &#xff1a; 表示需要在程序中插入横切关注点的扩展点&#xff0c;连接点可能是类初始化、方法执行、 方法调用、字段调用或处理异常等等&#xff0c; Spring…

Apache Tomcat 7.x 概述

前言 Tomcat 一直是Java web程序的首选应用服务器&#xff0c;现在已经更新到7.x版本了。如果你还使用老版本&#xff0c;那么你赶快更新到最新版本吧&#xff0c;他改善了不性能&#xff0c;修复了很多BUG。下面我从官网&#xff0c;简单翻译了一下7.x的特性&#xff0c;给你一…

linux mysql清除数据库所有表_MySQL修复指定数据库下的所有表

mysql,mariadb,percona这几天数据库频繁crash&#xff0c;查看日志发现类似如下的错误:[ERROR] mysqld: Table ./database/pre_forum_forumfield is marked as crashed and should be repaired1[ERROR]mysqld:Table./database/pre_forum_forumfieldismarkedascrashedandshouldb…

Java基础知识强化之IO流笔记03:throws的方式处理异常

1. 什么时候使用throws ? &#xff08;1&#xff09;定义功能方法时候&#xff0c;需要把出现的问题暴露出来&#xff0c;让调用者去处理。那么就通过throws在方法上标识。 &#xff08;2&#xff09;有时候&#xff0c;我们是可以对异常进行处理的&#xff0c;但是又有些时候…

silverlight学习之storyboard (动画)

利用silverlight的storyboard可以很方便的制作一些简单的“动画”&#xff0c;比如控制一些控件double类型或者color类型的属性值的变化。下面简单地说其中最简单的两个方面&#xff1a;DoubleAnimation&#xff08;控制控件double类型的属性&#xff09;和ColorAnimation&…

记一次Sonar执行失败的修复

为什么80%的码农都做不了架构师&#xff1f;>>> 前提 在提高代码质量方面公司采用的是JenkinsSonar的方案&#xff0c;通过设定扫描规则对现有代码工程进行扫描。代码扫描后会产生不同级别的问题&#xff0c;例如Bugs、漏洞、坏味道等。针对每个工程的发布是用…

java用if语句调用方法_J2SE中main函数中的if语句想要调用另一个类的方法怎么能实现?...

日常生活中&#xff0c;要完成一件复杂的功能&#xff0c;我们总是习惯把“大功能”分解为多个“小功能”以实现。在C程序的世界里&#xff0c;“功能”可称呼为“函数”&#xff0c;因此“函数”其实就是一段实现了某种功能的代码&#xff0c;并且可以供其它代码调用。一个程序…

Creating Apps With Material Design —— Defining Custom Animations

转载请注明 http://blog.csdn.net/eclipsexys 翻译自Developer Android&#xff0c;时间仓促&#xff0c;有翻译问题请留言指出。谢谢定义动画在材料设计动画让用户与您的应用程序进行交互时&#xff0c;为他们的行为提供反馈。并提供可视化的连续性。该材料的主题提供了一些默…