首頁>技術>

一、前言

python爬蟲事最方便最快捷的,今天給大家帶來爬取網頁,看看速度會有多快,爬取資料,基本都是透過網頁的URL得到這個網頁的原始碼,根據原始碼篩選出需要的資訊

二、使用環境和使用庫

IDE:PyCharm庫:requests、lxml

搭建環境

這裡的搭建環境,可不是搭建python的開發環境,這裡的搭建環境是指,我們使用pycharm新建一個python專案,然後弄好requests和lxml

三、爬取步驟

requests:獲取網頁原始碼lxml:得到網頁原始碼中的指定資料

新建一個專案:依賴庫匯入

由於我們使用的是pycharm,所以我們匯入這兩個庫就會顯的格外簡單

import requests
獲取網頁原始碼

requests可以很方便的讓我們得到網頁的原始碼網頁。

獲取原始碼:
# 獲取原始碼html = requests.get("https://coder-lida.github.io/")# 列印原始碼print html.text

程式碼就是這麼簡單,這個html.text便是這個URL的原始碼

完整程式碼:
import  requestsimport lxmlhtml = requests.get("https://coder-lida.github.io/")print (html.text)

列印:

獲取指定資料

現在我們已經得到網頁原始碼了,這時就需要用到lxml來來篩選出我們所需要的資訊這裡我就以得到我部落格列表為例,可以找到原網頁透過F12檢視XPath,如圖

透過XPath的語法獲得網頁的內容。

檢視第一篇文章標題

 //*[@id="layout-cart"]/div[1]/a/@title

// 定位根節點 / 往下層尋找 提取文字內容:/text() 提取屬性內容:/@xxxx

import  requestsfrom lxml import etreehtml = requests.get("https://coder-lida.github.io/")#print (html.text)etree_html = etree.HTML(html.text)content = etree_html.xpath('//*[@id="layout-cart"]/div[1]/a/@title')print(content)

檢視所有文章標題

//*[@id="layout-cart"]/div/a/@title

程式碼:

import  requestsfrom lxml import etreehtml = requests.get("https://coder-lida.github.io/")#print (html.text)etree_html = etree.HTML(html.text)content = etree_html.xpath('//*[@id="layout-cart"]/div/a/@title')print(content)

輸出:

[' springboot逆向工程 ', ' 自己實現一個簡單版的HashMap ', ' 開發中常用的  個JavaScript 單行程式碼 ', ' shiro 加密登入 密碼加鹽處理 ', ' Spring Boot構建RESTful API與單元測試  ', ' 記一次jsoup的使用 ']

13
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • Zabbix5.2由淺入深系列之製作網路裝置監控項