❶ 如何用python爬取出HTML指定標簽內的文本
你好!
可以通過lxml來獲取指定標簽的內容。
#安裝lxml
pipinstalllxml
importrequests
fromlxmlimporthtml
defgetHTMLText(url):
....
etree=html.etree
root=etree.HTML(getHTMLText(url))
#這里得到一個表格內tr的集合
trArr=root.xpath("//div[@class='news-text']/table/tbody/tr");
#循環顯示tr裡面的內容
fortrintrArr:
rank=tr.xpath("./td[1]/text()")[0]
name=tr.xpath("./td[2]/div/text()")[0]
prov=tr.xpath("./td[3]/text()")[0]
strLen=22-len(name.encode('GBK'))+len(name)
print('排名:{:<3},學校名稱:{:<{}} ,省份:{}'.format(rank,name,strLen,prov))
希望對你有幫助!
❷ 如何將python運行結果保存成txt
在最下面加上
with open("三.txt", "w") as f_w:
f_w.write(repr(C))
❸ 求一個python3爬蟲代碼,可以從小說網站上直接把小說的文字抄下來,並整合到一個新的文本里
frombs4importBeautifulSoup
fromrequests.
importre
importrequests
importos
defget_html_text(url):
try:
r=requests.get(url)
r.raise_for_status()
returnr.text
exceptRequestException:
returnNone
defget_chapter_names(html):
soup=BeautifulSoup(html,'lxml')
charpter=soup.select('.bg')
charpter_names=[]
forentryincharpter[1:]:
charpter_name=re.findall('<h2>(.*?)</h2>',str(entry))
file_name=re.findall('<ahref.*?>(.*?)</a>',str(entry))
ifcharpter_nameandfile_name:
fornameinfile_name:
name=name.split('')[0]
charpter_names.append(charpter_name[0]+'_'+name)
else:
pass
returnset(charpter_names)
defget_each_url(html):
soup=BeautifulSoup(html,'lxml')
urls=soup.select('ullia')
forurlinurls:
link=url.get('href')
text=url.text.split('')[0]
full_name=url.text.replace('?','')
yield{'url':link,'text':text,'full_name':full_name}
print(text)
defget_text(url):
r=requests.get(url)
r.encoding=r.apparent_encoding
soup=BeautifulSoup(r.text,'lxml')
items=soup.select('div.content-body')
item=re.findall(';(.*?);',items[0].text,re.S)
returnitem[0].encode()
defsave_to_file(url,text,full_name):
base_dir='mu'
path='{}\{}\{}'.format(os.getcwd(),base_dir,text)
ifnotos.path.exists(path):
try:
os.makedirs(path)
except:
pass
try:
withopen(path+'\'+full_name+'.txt','wb')asf:
f.write(get_text(url))
except:
pass
defmain():
url='http://seputu.com/'
html=get_html_text(url)
chapters=get_chapter_names(html)
forchapterinchapters:
foreachinget_each_url(html):
ifeach['text']==chapter.split('_')[-1]:
save_to_file(each['url'],chapter,each['full_name'])
if__name__=='__main__':
main()
❹ (源碼分享)利用Python識別提取圖像文字(中文英文都可以)
你想了解怎麼利用程序自動識別網站驗證碼嗎?識別提取圖像文字(中文英文都可以)
分享一點簡單有用的小項目:python
源碼分享如下:
看視頻教程鏈接:(點擊識別圖像文字視頻教程鏈接)
一、首先需要安裝 Tesseract模塊及 語言包
Tesseract OCR光學字元識別
Windows系統:
安裝網站 (放在不需要許可權的純英文路徑下):
: https://digi.bib.uni-mannheim.de/tesseract/
可以下載一些語言包:
https://github.com/tesseract-ocr/
安裝完成後,如果想要在命令行中使用Tesseract,那麼應該設置環境變數。
還有一個環境變數需要設置的是,要把訓練的數據文件路徑也放到環境變數中。
在環境變數中,添加一個TESSDATA_PREFIX=C:path_to_tesseractdata eseractdata。
在Python代碼中操作tesseract。需要安裝一個庫,叫做pytesseract。通過pip的方式即可安裝:
pip install pytesseract
並且,需要讀取圖片,需要藉助一個第三方庫叫做PIL。通過pip list看下是否安裝。如果沒有安裝,通過pip的方式安裝:
pip install PIL
使用pytesseract將圖片上的文字轉換為文本文字的示例代碼如下:
❺ Python批量讀取加密Word文檔轉存txt文本實現
# -*- coding:utf-8 -*-
from win32com import client as wc
import os
key = '文檔密碼'
def Translate(input, output):
# 轉換
wordapp = wc.Dispatch('Word.Application')
try:
doc = wordapp.Documents.Open(input, False, False, False,key)
doc.SaveAs(FileName=output, FileFormat=4, Encoding="gb2312")
doc.Close()
print(input, "完成")
os.remove(input)
# 為了讓python可以在後續操作中r方式讀取txt和不產生亂碼,參數為4
except:
print(input,"密碼錯誤")
if __name__ == '__main__':
#docx文檔物理路徑
path = r"C:Usersdocx"
key = '文檔密碼'
j=0
for file in os.listdir(path):
if '.doc' in file:
name = file.split(".docx")[0]
#輸入文檔物理路徑
input_file = r"C:Usersdocx"+""+file
#輸出文檔物理路徑
output_file=r"C:Users xt"+""+name+".txt"
Translate(input_file, output_file)
j=j+1
print(j)
else:continue
❻ Python代碼保存到word
python代碼只是純文本,語法高亮是ide的功能。所以如果你是想導出與ide一樣的樣式,至少你得說你在用什麼ide。