爬蟲

request 常用的幾種方法:


xpath

Xpath解析網頁的流程:
1.首先通過Requests庫獲取網頁數據
2.通過網頁解析,得到想要的數據或者新的鏈接
3.網頁解析可以通過 Xpath 或者其它解析工具進行,Xpath 在是一個非常好用的網頁解析工具

常見的解析方法比較

一個簡單的爬蟲-requests+xpath

import requests
from lxml import etree

url = 'https://movie.douban.com/subject/1292052/'
data = requests.get(url).text                    #讀取網頁內容
s=etree.HTML(data)                               #解析網頁內容

film=s.xpath('//*[@id="content"]/h1/span[1]/text()')  #使用xpath讀取內容
director=s.xpath('//*[@id="info"]/span[1]/span[2]/a/text()')
actor=s.xpath('//*[@id="info"]/span[3]/span[2]/a/text()')
time=s.xpath('//*[@id="info"]/span[13]/text()')

print('電影名稱:',film)
print('導演:',director)
print('主演:',actor)
print('片長:',time)

作者:DC學院
鏈接:https://www.jianshu.com/p/b86e46c9478b
來源:簡書
著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。
實際上主演是這麼來的

actor1=s.xpath('//*[@id="info"]/span[3]/span[2]/a[1]/text()')  #主演1
actor2=s.xpath('//*[@id="info"]/span[3]/span[2]/a[2]/text()')  #主演2
actor3=s.xpath('//*[@id="info"]/span[3]/span[2]/a[3]/text()')  #主演3
觀察上面的代碼,發現獲取不同的 主演  信息時,區別只在於 a[ ]中的索引不同。實際上,要一次性的獲取所有主演的信息時,用不加數字的 a 表示即可。代碼如下:

actor=s.xpath('//*[@id="info"]/span[3]/span[2]/a/text()')  #主演





發佈了25 篇原創文章 · 獲贊 8 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章