python解析網頁
A. 怎樣用python爬取網頁
#coding=utf-8
importurllib
importre
#網路貼吧網址:https://tieba..com/index.html
#根據URL獲取網頁HTML內容
defgetHtmlContent(url):
page=urllib.urlopen(url)
returnpage.read()
#從HTML中解析出所有jpg的圖片的URL
#從HTML中jpg格式為<img...src="xxx.jpg"width='''>
defgetJPGs(html):
#解析jpg圖片URL的正則表達式
jpgReg=re.compile(r'<img.+?src="(.+?.jpg)"')
#解析出jpg的URL列表
jpgs=re.findall(jpgReg,html)
returnjpgs
#用圖片url下載圖片並保存成制定文件名
defdownloadJPG(imgUrl,fileName):
urllib.urlretrieve(imgUrl,fileName)
#批量下載圖片,默認保存到當前目錄下
defbatchDownloadJPGs(imgUrls,path='../'):#path='./'
#給圖片重命名
count=1
forurlinimgUrls:
downloadJPG(url,''.join([path,'{0}.jpg'.format(count)]))
print"下載圖片第:",count,"張"
count+=1
#封裝:從網路貼吧網頁下載圖片
defdownload(url):
html=getHtmlContent(url)
jpgs=getJPGs(html)
batchDownloadJPGs(jpgs)
defmain():
url="http://www.meituba.com/dongman/"
download(url)
if__name__=='__main__':
main()
B. 求助,python 解析爬取的網頁源碼中的json部分
我用re把json的部分截取出來了,也用json.loads()解析成了字典,現在的問題是裡面需要的信息那部分是有一些是unicode 編碼的,求解。。。。
{"pageName":"mainsrp","mods":{"shopcombotip":{"status":"hide","export":false},"shopstar":{"status":"hide","export":false},"navtablink":{"status":"hide","export":false},"personalbar":{"status":"show","data":{"metisData":{"nickname":"","query":"秋季打底衫","shopItems":[{"text":"黃鑽愛買店鋪","count":"500+","url":"/search?q\u003d秋季打底衫\u0026tab\u003dmysearch\u0026filter_rectype\u003d44\u0026stats_click\u003dms_from:44","trace":"metis44"},{"text":"回頭客愛買店鋪","count":"500+","url":"/search?q\u003d秋季打底衫\u0026tab\u003dmysearch\
C. 求助 Python代碼
colour = input("Enter a colour:")#1 輸入的是字元串不能用int轉換成整數
if colour == 'black' or colour == 'white':#2 不能省略colour==
print("shade")
elif colour == 'red' or colour == 'blue' or colour == 'green':
print("primary colour")
else:#3 少了冒號,要加:'
choice = input("is this a colour?") #4 沒有用choice接收返回值
if choice == 'yes':
print("ok.")
D. 如何用python解析網頁並獲得網頁真實的源碼
Python 2.7版本的話 代碼如下:
#!/usr/bin/env python
# -*- coding:utf8 -*-
import urllib
import urllib2
import string
import re
addr1 = 某個網址的地址(string format)
response1 = urllib.urlopen(addr1)
text1 = response1.read()
response1.close()
text1就是網頁的源代碼,可以print出來看。UTF8的代碼是為了確保能正確抓取中文。
E. python代碼求教。
python代碼是查找域名對應的IP地址。向IP對應的伺服器發送請求。伺服器響應請求,發回網頁內容。瀏覽器解析網頁內容。urllib-網路庫(stdlib)。requests-網路庫。grab–網路庫(基於pycurl)。pycurl–網路庫(綁定libcurl)。」
F. python怎樣將網頁內容解析成DOM對象
可以使用Python自帶的HTMLParser模塊解析HTML文檔:
HTMLParser的核心模塊是org.htmlparser.Parser類,這個類實際完成了對於HTML頁面的分析工作。這個類有下面幾個構造函數:
public Parser ();
public Parser (Lexer lexer, ParserFeedback fb);
public Parser (URLConnection connection, ParserFeedback fb) throws ParserException;
public Parser (String resource, ParserFeedback feedback) throws ParserException;
public Parser (String resource) throws ParserException;
public Parser (Lexer lexer);
public Parser (URLConnection connection) throws ParserException;
和一個靜態類public static Parser createParser (String html, String charset);
G. 怎麼用python解析網頁,並提取出與標題相關的正文
可以使用正則表達式或者xpath方式,下面這個免費教程是說明怎麼用正則表達式來取得你要的東西的,供參考。
http://www.chuanke.com/v4500746-186400-1033307.html
H. Python解析庫lxml與xpath用法總結
本文主要圍繞以xpath和lxml庫進行展開:
一、xpath 概念、xpath節點、xpath語法、xpath軸、xpath運算符
二、lxml的安裝、lxml的使用、lxml案例
一、xpath
1.xpath概念
XPath 是一門在 XML 文檔中查找信息的語言。XPath 使用路徑表達式在 XML 文檔中進行導航 。XPath 包含一個標准函數庫 。XPath 是 XSLT 中的主要元素 。XPath 是一個 W3C 標准 。
2.xpath節點
xpath有七種類型的節點:元素、屬性、文本、命名空間、處理指令、注釋以及文檔(根)節點。
節點關系:父、子、兄弟、先輩、後輩。
3.xpath語法
xpath語法在W3c網站上有詳細的介紹,這里截取部分知識,供大家學習。
XPath 使用路徑表達式在 XML 文檔中選取節點。節點是通過沿著路徑或者 step 來選取的。下面列出了最有用的路徑表達式:
在下面的表格中,我們已列出了一些路徑表達式以及表達式的結果:
謂語用來查找某個特定的節點或者包含某個指定的值的節點。
謂語被嵌在方括弧中。
在下面的表格中,我們列出了帶有謂語的一些路徑表達式,以及表達式的結果:
XPath 通配符可用來選取未知的 XML 元素。
在下面的表格中,我們列出了一些路徑表達式,以及這些表達式的結果:
通過在路徑表達式中使用"|"運算符,您可以選取若干個路徑。
在下面的表格中,我們列出了一些路徑表達式,以及這些表達式的結果:
4.xpath 軸
軸可定義相對於當前節點的節點集。
5.xpath運算符
下面列出了可用在 XPath 表達式中的運算符:
好了,xpath的內容就這么多了。接下來我們要介紹一個神器lxml,他的速度很快,曾經一直是我使用beautifulsoup時最鍾愛的解析器,沒有之一,因為他的速度的確比其他的html.parser 和html5lib快了許多。
二、lxml
1.lxml安裝
lxml 是一個xpath格式解析模塊,安裝很方便,直接pip install lxml 或者easy_install lxml即可。
2.lxml 使用
lxml提供了兩種解析網頁的方式,一種是你解析自己寫的離線網頁時,另一種 則是解析線上網頁。
導入包:
1.解析離線網頁:
2.解析在線網頁:
那麼我們怎麼獲取這些標簽和標簽對應的屬性值了,很簡單,首先獲取標簽只需你這樣做:
然後我們可以,比方說,你要獲取a標簽內的文本和它的屬性href所對應的值,有兩種方法,
1.表達式內獲取
2.表達式外獲取
這樣就完成了獲取,怎麼樣,是不是很簡單了,哈哈哈。
下面再來lxml的解析規則:
3.lxml案例
為了偷懶,我決定還是採用urllib那篇文章的代碼,哈哈哈,機智如我。
I. python如何讀取網頁中的數據
用Beautiful Soup這類解析模塊:
Beautiful Soup 是用Python寫的一個HTML/XML的解析器,它可以很好的處理不規范標記並生成剖析樹(parse tree);
它提供簡單又常用的導航(navigating),搜索以及修改剖析樹的操作;
用urllib或者urllib2(推薦)將頁面的html代碼下載後,用beautifulsoup解析該html;
然後用beautifulsoup的查找模塊或者正則匹配將你想獲得的內容找出來,就可以進行相關處理了,例如:
html='<html><head><title>test</title></head><body><p>testbody</p></body></html>'
soup=BeautifulSoup(html)
soup.contents[0].name
#u'html'
soup.comtents[0].contents[0].name
#u'head'
head=soup.comtents[0].contents[0]
head.parent.name
#u'html'
head.next
#u'<title>test</title>