① 教你用python写一个爬虫,免费看小说
这是一个练习作品。用python脚本爬取笔趣阁上面的免费小说。
环境:python3
类库:BeautifulSoup
数据源: http://www.biqukan.cc
原理就是伪装正常http请求,正常访问网页。然后通过bs4重新解析html结构来提取有效数据。
包含了伪装请求头部,数据源配置(如果不考虑扩展其他数据源,可以写死弯蚂)。纤闹伏
config.py文件
fiction.py文件
summary.py文件
catalog.py文件
article.py文件
暂没有做数据保存模块。如果需要串起来做成一个完整的项目的话,只需要把小说数据结构保存即可(节省磁盘空间)。通过小说url可以很快速的提取出小说简介、目录、每一章的毁携正文。
如果想要做的更好,可以把目录,介绍、正文等部分缓存起来,当然得有足够的空间。
② python编写爬虫小程序的方法
我们可以通过python 来实现这样一个简单的爬虫功能,把我们想要的代码爬取到本地。下面就迅判看
看如何使用python来实现这样一个功能。
起因
深夜忽然想下载一点电子书来扩充一下kindle,就想起来python学得太浅,什么“装饰器”啊、“多线程”啊都没有学到。
想到廖雪峰大神的python教程很经典、很着名。就想找找有木有pdf版的下载差判,结果居然没找到!!CSDN有个不完整的还骗走了我一个积分!!尼玛!!
怒了,准备写个程序直接去爬廖雪峰的教程,然后再html转成电子书。
过程
过程很有趣呢,用浅薄的python知识,写python程序,去爬python教程,来学习python。想想有点小激动
果然python很是方便,50行左右就OK了。直接贴代码:
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# coding:utf-8
import urllib
domain =
#廖雪峰的域名
path = rC:Userscyhhao2013Desktoptemp #html要保存的路径
# 一个html的头文件
input = open(rC:Userscyhhao2013Desktop.html, r)
head = input.read()
# 打开python教程主界面
f = urllib.urlopen(/wiki/)
home = f.read()
f.close()
# 替换所有空格回车(这样容易好获取url)
geturl = home.replace(n, )
geturl = geturl.replace( , )
# 得到包含url的字符串
list = geturl.split(rem;ahref=)[1:]
# 强迫亩庆改症犯了,一定要把第一个页面也加进去才完美
list.insert(0, /wiki/)
# 开始遍历url List
for li in list:
url = li.split(r)[0]
url = domain + url #拼凑url
print url
f = urllib.urlopen(url)
html = f.read()
# 获得title为了写文件名
title = html.split(title)[1]
title = title.split( - 廖雪峰的官方网站/title)[0]
# 要转一下码,不然加到路径里就悲剧了
title = title.decode(utf-8).replace(/,)
# 截取正文
html = html.split(r!-- block main --)[1]
html = html.split(rh4您的支持是作者写作最大的动力!/h4)[0]
html = html.replace(rsrc=, src= + domain)
# 加上头和尾组成完整的html
html = head + html+/body/html
# 输出文件
output = open(path + %d % list.index(li) + title + .html, w)
output.write(html)
output.close()
简直,人生苦短我用python啊!
以上所述就是本文的全部内容了,希望大家能够喜欢。
③ 如何利用Python抓取PDF中的某些内容
可以转换成TXT再抓取
fromcStringIOimportStringIO
frompdfminer.pdfinterp
importPDFResourceManager,PDFPageInterpreter
frompdfminer.converterimportTextConverter
frompdfminer..pdfpage
importPDFPage
defconvert_pdf_2_text(path):
rsrcmgr=PDFResourceManager()
retstr=StringIO()
device=TextConverter(rsrcmgr,retstr,codec='utf-8',laparams=LAParams())
interpreter=PDFPageInterpreter(rsrcmgr,device)
withopen(path,'rb')asfp:
forpageinPDFPage.get_pages(fp,set()):
interpreter.process_page(page)
text=retstr.getvalue()
device.close()
retstr.close()
returntext
④ 一个用于合并pdf的简单Python脚本
在学校打印店,有时会打印很多文件,桥野因为文件数量多,过程会比较繁琐。自己没事动手写了一个pdf合并的python脚本,方便将多个手洞pdf文件合并为一。这样打印时候只需点开一个文件打印即毕消枯可。
需要 Python 和 PyPDF2 。Python安装可在官网找到;PyPDF2可以通过pip安装,可以利用命令行工具输入一下命令
将需要合并的文件与本文后面的Python脚本放在同一目录下,运行脚本得到 Merged.pdf 即为合并的pdf文件。
如果需要按照一定顺序合并pdf文件,可以将pdf文件重命名,按顺序将文件重命名为 1.pdf 、 2.pdf 以此类推。
如果需要将某一pdf文件在合并文件中重复多次,可以将该文件直接在当前目录下拷贝成多个副本。
⑤ 如何利用Python抓取PDF中的某些内容
你的问题事实上包含几部分:将PDF转化为纯文本格式抽取其中部分内容格式化写入到excel中转换PDF有很多库可以完成,如下是通过pdfminer的示例:.,..._pdf_2_text(path):rsrcmgr=PDFResourceManager()retstr=StringIO()device=TextConverter(rsrcmgr,retstr,codec='utf-8',laparams=LAParams())interpreter=PDFPageInterpreter(rsrcmgr,device)withopen(path,'rb')asfp:forpageinPDFPage.get_pages(fp,set()):interpreter.process_page(page)text=retstr.getvalue()device.close()retstr.close()returntext需要指出的是,pdfminer不但可以将PDF转换为text文本,还可以转换为HTML等带有标签的文本。上面只是最简单的示例,如果每页有很独特的标志,你还可以按页单独处理。
⑥ python怎样读取pdf文件的内容
1、首先要下载一个处理pdf的组件pdfminer,网络搜索去官网下载
2、下载完成解压以后,打开cmd进入用命令安装。python setup.py install 进行安装
3、我们来测试一下是否安装成功了,引入这个模块,运行一下代码,没有报错就说明安装成功了
4、官网有文档也有代码示例
from pdfminer.pdfparser import PDFParser
from pdfminer.pdfdocument import PDFDocument
from pdfminer.pdfpage import PDFPage
from pdfminer.pdfpage import PDFTextExtractionNotAllowed
from pdfminer.pdfinterp import PDFResourceManager
from pdfminer.pdfinterp import PDFPageInterpreter
from pdfminer.pdfdevice import PDFDevice
fp = open('mypdf.pdf', 'rb')
#创建一个PDF文档解析器对象
parser = PDFParser(fp)
#创建一个PDF文档对象存储文档结构
#提供密码初始化,没有就不用传该参数
document = PDFDocument(parser, password)
#检查文件是否允许文本提取
if not document.is_extractable:
raise PDFTextExtractionNotAllowed
#创建一个PDF资源管理器对象来存储共享资源
rsrcmgr = PDFResourceManager()
#创建一个pdf设备对象
device = PDFDevice(rsrcmgr)
#创建一个PDF解析器对象
interpreter = PDFPageInterpreter(rsrcmgr, device)
#处理文档当中的每个页面
for page in PDFPage.create_pages(document):
interpreter.process_page(page)
5、我新建一个pdf,新输入一些内容
6、运行一下代码即可
⑦ 请问怎么通过python爬虫获取网页中的pdf文件
首先把链接URL爬取出来,然后get流下载pdf文件,再用pdf模块来读取它。
⑧ python怎样读取pdf文件的内容
1,引言
晚上翻看《Python网络数据采集》这本书,看到读取PDF内容的代码,想起来前几天集搜客刚刚发布了一个抓取网页pdf内容的抓取规则,这个规则能够把pdf内容当成html来做网页抓取。神奇之处要归功于Firefox解析PDF的能力,能够把pdf格式转换成html标签,比如,div之类的标签,从而用GooSeeker网页抓取软件像抓普通网页一样抓取结构化内容。
从而产生了一个问题:用Python爬虫的话,能做到什么程度。下面将讲述一个实验过程和源代码。
2,把pdf转换成文本的Python源代码
下面的python源代码,读取pdf文件内容(互联网上的或是本地的),转换成文本,打印出来。这段代码主要用了一个第三方库PDFMiner3K把PDF读成字符串,然后用StringIO转换成文件对象。(源代码下载地址参看文章末尾的GitHub源)
复制代码
from urllib.request import urlopen
from pdfminer.pdfinterp import PDFResourceManager, process_pdf
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from io import StringIO
from io import open
def readPDF(pdfFile):
rsrcmgr = PDFResourceManager()
retstr = StringIO()
laparams = LAParams()
device = TextConverter(rsrcmgr, retstr, laparams=laparams)
process_pdf(rsrcmgr, device, pdfFile)
device.close()
content = retstr.getvalue()
retstr.close()
return content
pdfFile = urlopen("http://pythonscraping.com/pages/warandpeace/chapter1.pdf")
outputString = readPDF(pdfFile)
print(outputString)
pdfFile.close()
复制代码
如果PDF文件在你的电脑里,那就把urlopen返回的对象pdfFile替换成普通的open()文件对象。
3,展望
这个实验只是把pdf转换成了文本,但是没有像开头所说的转换成html标签,那么在Python编程环境下是否有这个能力,留待今后探索。
4,集搜客GooSeeker开源代码下载源
1. GooSeeker开源Python网络爬虫GitHub源
5,文档修改历史
2016-05-26:V2.0,增补文字说明
2016-05-29:V2.1,增加第六章:源代码下载源,并更换github源的网址
⑨ 如何利用python爬虫获取数据
python是一款应用非常广泛的脚本程序语言,谷歌公司的网页就是用python编写。python在生物信息、统计、网页制作、计算等多个领域都体现出了强大的功能。python和其他脚本语言如java、R、Perl一样,都可以直接在命令行里运行脚本程序。工具/原料python;CMD命令行;windows操作系统方法/步骤1、首先下载安装python,建议安装2.7版本以上,3.0版本以下,由于3.0版本以上不向下兼容,体验较差。2、打开文本编辑器,推荐editplus,notepad等,将文件保存成.py格式,editplus和notepad支持识别python语法。脚本第一行一定要写上#!usr/bin/python表示该脚本文件是可执行python脚本如果python目录不在usr/bin目录下,则替换成当前python执行程序的目录。3、编写完脚本之后注意调试、可以直接用editplus调试。调试方法可自行网络。脚本写完之后,打开CMD命令行,前提是python已经被加入到环境变量中,如果没有加入到环境变量,请网络4、在CMD命令行中,输入“python”+“空格”,即”python“;将已经写好的脚本文件拖拽到当前光标位置,然后敲回车运行即可。
⑩ python爬取pdf中的日期
camelot模块。
PDF文件无疑是最常用的文件格式之一,小到教材、课件,大到合同、规划书,我们都能见到这种文件格式但如何从PDF文件中提取其中的表格,这却是一个大难题因为PDF中没有一个内部的表示方式来表示一个表格这使得表格数据很难被抽取出来做分析。
camelot是Python的一个模块,它能够让任何人轻松地从PDF文件中提取表格数据。