What is XPath?
XPath is a syntax for defining parts of an XML document
XPath uses path expressions to navigate in XML documents
XPath contains a library of standard functions
XPath is a major element in XSLT
XPath is a W3C recommendation
出處: http://www.w3schools.com/xpath/
如果想學習網頁語法相關的程式可以到這個網站看看 :http://www.w3schools.com/
這個網站可以學習xpath的路徑,裡面有很多範例可以看。
http://zvon.org/xxl/XPathTutorial/General/examples.html
另外一個這個網址可以看關於css path的網站。
http://www.w3schools.com/cssref/css_selectors.asp
關於上面寫的這些都是在講網頁的樹狀架構呢。
css path 筆記
#main_outer 意思是div的ID=main_outer
2015年5月27日 星期三
2015年5月21日 星期四
Python Crawler 簡單範例 (在Qnap Python2.6版上
# coding=UTF-8
import lxml
import urllib
import urllib2
import psycopg2
from settings import * #這是呼叫叫"settings"的副程式過來,但是在這個範例裡沒用到。
from lxml import etree
from pyquery import PyQuery as pq
def main(): #名叫 main 的副程式
#進入網站並接收回應
opener = urllib2.build_opener()
req = opener.open('http://www.tbn.org.tw/twd97/SpeciesDetail.asp?id=51&SDay=&LDay=&county=&town=&MapKind=')
# req = opener.open('填入網址');
#預計要填進網頁原始碼
pagehtml = ''
#預計要把分頁的超連結填進list
links = []
#解析網頁原始碼的DOM Tree,並選取目標的tag
for line in req:
pagehtml += line
page = pq(pagehtml)
pagediv = page('.body>div:nth-child(3)') #這邊就是放想要抓那個網頁樹狀結構下的目標
# print pagediv
#取得分頁的超連結加到list
for pageurl in pagediv:
linkObj = pq(lxml.html.tostring(pageurl))
#print (type(linkObj))
pagelink = linkObj.text() #取得字串
print pagelink
links.append(pagelink)
#主程式從這裡開始
if __name__ == '__main__':
main()
import lxml
import urllib
import urllib2
import psycopg2
from settings import * #這是呼叫叫"settings"的副程式過來,但是在這個範例裡沒用到。
from lxml import etree
from pyquery import PyQuery as pq
def main(): #名叫 main 的副程式
#進入網站並接收回應
opener = urllib2.build_opener()
req = opener.open('http://www.tbn.org.tw/twd97/SpeciesDetail.asp?id=51&SDay=&LDay=&county=&town=&MapKind=')
# req = opener.open('填入網址');
#預計要填進網頁原始碼
pagehtml = ''
#預計要把分頁的超連結填進list
links = []
#解析網頁原始碼的DOM Tree,並選取目標的tag
for line in req:
pagehtml += line
page = pq(pagehtml)
pagediv = page('.body>div:nth-child(3)') #這邊就是放想要抓那個網頁樹狀結構下的目標
# print pagediv
#取得分頁的超連結加到list
for pageurl in pagediv:
linkObj = pq(lxml.html.tostring(pageurl))
#print (type(linkObj))
pagelink = linkObj.text() #取得字串
print pagelink
links.append(pagelink)
#主程式從這裡開始
if __name__ == '__main__':
main()
訂閱:
文章 (Atom)