pythonxmltodict
① 如何把 Web 頁面上抓取下來的海量文本信息從非結構化信息變成結構化信息
普通來講對我們而言,需求抓取的是某個網站或者某個應用的內容,提取有用的價值。內容普通分為兩局部,非構造化的數據 和 構造化的數據。
非構造化數據:先有數據,再有構造
構造化數據:先有構造、再有數據
不同類型的數據,我們需求採用不同的方式來處置。
非構造化的數據處置
文本、電話號碼、郵箱地址
正則表達式
HTML 文件
正則表達式
XPath
CSS選擇器
構造化的數據處置
JSON 文件
JSON Path
轉化成python類型停止操作(json類)
XML 文件
轉化成Python類型(xmltodict)
XPath
CSS選擇器
正則表達式
實踐上python爬蟲一共就四個主要步驟:
明白目的 (要曉得你准備在哪個范圍或者網站去搜索)
爬 (將一切的網站的內容全部爬下來)
取 (去掉對我們沒用途的數據)
處置數據(依照我們想要的方式存儲和運用)
② 什麼工具可以將xml轉換為python
安裝xmltodict,可以直接將xml轉成python 字典類型
③ 值得收藏的Python第三方庫
網路站點爬取
爬取網路站點的庫Scrapy – 一個快速高級的屏幕爬取及網頁採集框架。cola – 一個分布式爬蟲框架。Demiurge – 基於PyQuery 的爬蟲微型框架。feedparser – 通用 feed 解析器。Grab – 站點爬取框架。MechanicalSoup – 用於自動和網路站點交互的 Python 庫。portia – Scrapy 可視化爬取。pyspider – 一個強大的爬蟲系統。RoboBrowser – 一個簡單的,Python 風格的庫,用來瀏覽網站,而不需要一個獨立安裝的瀏覽器。
互動式解析器
互動式 Python 解析器。
IPython – 功能豐富的工具,非常有效的使用互動式 Python。
bpython- 界面豐富的 Python 解析器。
ptpython – 高級互動式Python解析器, 構建於python-prompt-toolkit 之上。
圖像處理
用來操作圖像的庫.
pillow – Pillow 是一個更加易用版的 PIL。
hmap – 圖像直方圖映射。
imgSeek – 一個使用視覺相似性搜索一組圖片集合的項目。
nude.py – 裸體檢測。
pyBarcode – 不藉助 PIL 庫在 Python 程序中生成條形碼。
pygram – 類似 Instagram 的圖像濾鏡。
python-qrcode – 一個純 Python 實現的二維碼生成器。
Quads – 基於四叉樹的計算機藝術。
scikit-image – 一個用於(科學)圖像處理的 Python 庫。
thumbor – 一個小型圖像服務,具有剪裁,尺寸重設和翻轉功能。
wand – MagickWand的Python 綁定。MagickWand 是 ImageMagick的 C API 。
HTTP
使用HTTP的庫。
requests – 人性化的HTTP請求庫。
grequests – requests 庫 + gevent ,用於非同步 HTTP 請求.
httplib2 – 全面的 HTTP 客戶端庫。
treq – 類似 requests 的Python API 構建於 Twisted HTTP 客戶端之上。
urllib3 – 一個具有線程安全連接池,支持文件 post,清晰友好的 HTTP 庫。
Python實現的資料庫。
pickleDB – 一個簡單,輕量級鍵值儲存資料庫。
PipelineDB – 流式 SQL 資料庫。
TinyDB – 一個微型的,面向文檔型資料庫。
ZODB – 一個 Python 原生對象資料庫。一個鍵值和對象圖資料庫。
Web 框架
全棧 web 框架。
Django – Python 界最流行的 web 框架。
awesome-django系列
Flask – 一個 Python 微型框架。
https://github.com/humiaozuzu/awesome-flask系列
Pyramid – 一個小巧,快速,接地氣的開源Python web 框架。
awesome-pyramid系列
Bottle – 一個快速小巧,輕量級的 WSGI 微型 web 框架。
CherryPy – 一個極簡的 Python web 框架,服從 HTTP/1.1 協議且具有WSGI 線程池。
TurboGears – 一個可以擴展為全棧解決方案的微型框架。
web.py – 一個 Python 的 web 框架,既簡單,又強大。
web2py – 一個全棧 web 框架和平台,專注於簡單易用。
Tornado – 一個web 框架和非同步網路庫。
HTML處理
處理 HTML和XML的庫。
BeautifulSoup – 以 Python 風格的方式來對 HTML 或 XML 進行迭代,搜索和修改。
bleach – 一個基於白名單的 HTML 清理和文本鏈接庫。
cssutils – 一個 Python 的 CSS 庫。
html5lib – 一個兼容標準的 HTML 文檔和片段解析及序列化庫。
lxml – 一個非常快速,簡單易用,功能齊全的庫,用來處理 HTML 和 XML。
MarkupSafe – 為Python 實現 XML/HTML/XHTML 標記安全字元串。
pyquery – 一個解析 HTML 的庫,類似 jQuery。
untangle – 將XML文檔轉換為Python對象,使其可以方便的訪問。
xhtml2pdf – HTML/CSS 轉 PDF 工具。
xmltodict – 像處理 JSON 一樣處理 XML。
游戲開發
超贊的游戲開發庫。
Cocos2d – cocos2d 是一個用來開發 2D 游戲, 示例和其他圖形/交互應用的框架。基於 pyglet。
Panda3D – 由迪士尼開發的 3D 游戲引擎,並由卡內基梅隴娛樂技術中心負責維護。使用C++編寫, 針對 Python 進行了完全的封裝。
Pygame – Pygame 是一組 Python 模塊,用來編寫游戲。
PyOgre – Ogre 3D 渲染引擎的 Python 綁定,可以用來開發游戲和模擬程序等任何 3D 應用。
PyOpenGL – OpenGL 的 Python 綁定及其相關 APIs。
PySDL2 – SDL2 庫的封裝,基於 ctypes。
RenPy – 一個視覺小說(visual novel)引擎。
④ Python 常用的標准庫以及第三方庫有哪些
參考:知乎
Python 常用的標准庫以及第三方庫
standard libs:
itertools
functools 學好python有必要掌握上面這兩個庫吧,
re 正則
subprocess 調用shell命令的神器
pdb 調試
traceback 調試
pprint 漂亮的輸出
logging 日誌
threading和multiprocessing 多線程
urllib/urllib2/httplib http庫,httplib底層一點,推薦第三方的庫requests
os/sys 系統,環境相關
Queue 隊列
pickle/cPickle 序列化工具
hashlib md5, sha等hash演算法
cvs
json/simplejson python的json庫,據so上的討論和benchmark,simplejson的性能要高於json
timeit 計算代碼運行的時間等等
cProfile python性能測量模塊
glob 類似與listfile,可以用來查找文件
atexit 有一個注冊函數,可用於正好在腳本退出運行前執行一些代碼
dis python 反匯編,當對某條語句不理解原理時,可以用dis.dis 函數來查看代碼對應的python 解釋器指令等等。
3th libs:
paramiko ssh python 庫
selenium 瀏覽器自動化測試工具selenium的python 介面
lxml python 解析html,xml 的神器
mechanize Stateful programmatic web browsing
pycurl cURL library mole for Python
Fabric Fabric is a Python (2.5 or higher) library and command-line tool for streamlining the use of SSH for application deployment or systems administration tasks.
xmltodict xml 轉 dict,真心好用
urllib3 和 requests: 當然其實requests就夠了 Requests: HTTP for Humans
flask web 微框架
ipdb 調試神器,同時推薦ipython!結合ipython使用
redis redis python介面
pymongo mongodbpython介面
PIL python圖像處理
mako python模版引擎
numpy , scipy 科學計算
matplotlib 畫圖
scrapy 爬蟲
django/tornado/web.py/web2py/uliweb/flask/twisted/bottle/cherrypy.等等 python web框架/伺服器
sh 1.08 — sh v1.08 documentation 用來運行shell 模塊的 極佳選擇
⑤ 用python怎麼實現json和xml的互轉
ajax是屬於template裡面的一個非同步請求而已,如果你在views裡面傳回來是你說的「實體對像(models)」的話,我就有點搞不明白了。。。
不知道你在那個view方法直接return的是什麼?
如果使用json處理對象的話請使用:
from django.http import HttpResponse
from models import mymodels
import simplejson
...
def ajax(request):
a = mymodels.objects.all()[0]
'''
此處假設a中有name、age參數
model對象是不能直接作為json可以處理,必須先轉換為dict類型
'''
result = {}
result['name'] = a.name
result['age'] = a.age
result = simplejson.mps(result)
return HttpResponse(result)
此時用ajax訪問這個試圖返回的內容就是:
上面這種辦法不是很好,建議先寫一個template模板專門來顯示此model內容。
假設模板ajax.html的內容為:
===================ajax.html===============
name: }<br />
age: }
=======================================
views視圖如下:
from django.http import HttpResponse
from models import mymodels
from django.shortcuts import render_to_response
...
def ajax(request):
a = mymodels.objects.all()[0]
return render_to_response("ajax.html",)
此時用ajax訪問這個視圖返回的內容就是:
name: Jim Green
age: 14
以上的代碼可能會有錯誤,因為是隨手寫的,希望能夠幫到你
====修改了一下====
模板文件名打錯了。。。
修改了一下就到了樓上的下面了,樓上你也太沒水準了。直接復制
=====修改=====
使用model.__dict__屬性可以獲得字典,希望能幫到你
你的串號我已經記下,採納後我會幫你製作
⑥ Python編程網頁爬蟲工具集介紹
【導語】對於一個軟體工程開發項目來說,一定是從獲取數據開始的。不管文本怎麼處理,機器學習和數據發掘,都需求數據,除了通過一些途徑購買或許下載的專業數據外,常常需求咱們自己著手爬數據,爬蟲就顯得格外重要,那麼Python編程網頁爬蟲東西集有哪些呢?下面就來給大家一一介紹一下。
1、 Beautiful Soup
客觀的說,Beautifu Soup不完滿是一套爬蟲東西,需求協作urllib運用,而是一套HTML / XML數據分析,清洗和獲取東西。
2、Scrapy
Scrapy相Scrapy, a fast high-level screen scraping and web crawling framework
for
Python.信不少同學都有耳聞,課程圖譜中的許多課程都是依託Scrapy抓去的,這方面的介紹文章有許多,引薦大牛pluskid早年的一篇文章:《Scrapy
輕松定製網路爬蟲》,歷久彌新。
3、 Python-Goose
Goose最早是用Java寫得,後來用Scala重寫,是一個Scala項目。Python-Goose用Python重寫,依靠了Beautiful
Soup。給定一個文章的URL, 獲取文章的標題和內容很便利,用起來非常nice。
以上就是Python編程網頁爬蟲工具集介紹,希望對於進行Python編程的大家能有所幫助,當然Python編程學習不止需要進行工具學習,還有很多的編程知識,也需要好好學起來哦,加油!
⑦ 初學者請問python下安裝xmltodict的有關問題
D:\xmltodict-0.9.0>C:\Python26\python.exe setup.py
Extracting in c:\users\abc\appdata\local\temp\tmpwddh8e
Now working in c:\users\abc\appdata\local\tmpwdhh8e\setuptools-1.1.6
Building a Setuptools egg in D:\xmltodict-0.9.0
warning:no files found matching 'entries*' under directory 'setuptools\tests'
warning:no files found matching 'Makefile'under directory 'docs'
warning:no files found matching 'indexsidebar.html'under directory 'docs'
D:\xmltodict-0.9.0\setuptools-1.1.6 -py2.6.egg
usaage:setup.py[golbal_opts]cmd1[cmd1_opts][cmd2[cmd2_opts]...]
or :setup.py --help[cmd1 cmd2...]
or :setup.py --help-commands
or :setup.py cmd --help
error:no commands supplied
錯誤信息不是明白告訴你缺參數嘛,一般最簡單的命令行也要是python.exe setup.py install
⑧ 初學者請問python下安裝xmltodict的有關問題
D:\xmltodict-0.9.0>C:\Python26\python.exe setup.py Extracting in c:\users\abc\appdata\local\temp\tmpwddh8e Now working in c:\users\abc\appdata\local\tmpwdhh8e\setuptools-1.1.6 Building a Setuptools egg in D:\xmltodict-0.9.0
⑨ Python如何實現陽歷轉陰歷的方法分享
1. 如果你想看怎麼實現,你可以去看xmltodict這個第三方庫,
2. 如果你想直接使用,也是去看xnltodict這個庫,
3. 總的來說,就是你可以用xmltodict實現,先轉換成python標準的dict,再用python自帶的json.mps()轉換即可