爬蟲(三):對requests、xpath模塊


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登錄

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM