1.之前在網頁中URl鏈接采用Urllib/Urllib2,但是現在加強版requests模塊進行網頁URl提取,requests庫模擬登錄或者登錄動態網頁
URL理解:網頁抓取過程瀏覽器向服務器請求的過程:1.訪問資源命名機制2.存放資源主機3.資源自身的路徑
對requests模塊的入門:http://blog.csdn.net/iloveyin/article/details/21444613
對於get參數request.get(url,data=XXX,**.kwargs)
import requests #嘗試得到某個網頁 r=requests.get("https://www.baidu.com") #Requests簡便的API意味着所有HTTP請求類型都是顯而易見的。例如,你可#以這樣發送一個HTTP POST請求: r=requests.post("https://www.baidu.com")
2.位URl傳遞參數,將字符串(query string)加到url鏈接上
playload={'key1':'value1','key2':'value2'} r=requests.get(url,params=playload)
3.響應內容:
#在urllib中*.read()
現在以,print r.text (*.text形式)
4.定制請求頭:Http頭部簡單的傳遞一個dictionary給headers
url="https://api.github.com/some/endpoint" payload={'some':'data'} heards={'content-type':'application/json'} r=requests.post(url,data=json.dumps(payload),heards=heards)
5.Seesion方法:能夠保留TCP或者Cookies數據,避免數據重復
lXML中xpath:在XML文檔中查找信息的語言,xpath可以用來在xml文檔中對元素和屬性進行遍歷
在 XPath 中,有七種類型的節點:元素、屬性、文本、命名空間、處理指令、注釋以及文檔(根)節點。XML 文檔是被作為節點樹來對待的。樹的根被稱為文檔節點或者根節點。
根節點在文檔xpath用//表示
xpath中七種類型元素節點:元素,屬性,文本,命名空間,處理命令,注釋和根節點
<?xml version="1.0" encoding="ISO-8859-1"?> <bookstore> <book> <title lang="en">Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book> </bookstore>
在上面XML文檔中,/bookstore是根節點
<author>j k.Rowling</author>是元素節點,同樣<year>2005</year>元素節點
<book>是title author ,year等父節點
<lang="en">屬性節點
##在python中學習xpath,最重要通過xpath選取節點,提取節點中重要的信息
#XPath 使用路徑表達式在 XML 文檔中選取節點。節點是通過沿着路徑或者 step 來選取的。
author=list(set(tree.xpath("//input[@name="lt"]/@value")))[0]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
POSt數據,表單提交:
對requests庫文件的深入了解
由requests.get(url)一般是網站json數據格式,
重定向:requests會自動將http轉換成https;登錄驗證:
CSRF跨站請求偽造:采用Seesion模擬瀏覽器登錄一些cookies和csrf登錄