① 教你用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文件中提取表格數據。