python爬蟲(1) 入門教程

2021-10-08 18:59:36 字數 2167 閱讀 8144

網頁一般由三部分組成,分別是 html(超文字標記語言)、css(層疊樣式表)和 jscript(活動指令碼語言)。

1)html

html 是整個網頁的結構,相當於整個**的框架。帶「<」、「>」符號的都是屬於 html 的標籤,並且標籤都是成對出現的。

2)css

css 表示樣式,圖 1 中第 13 行<style type="text/css">表示下面引用乙個 css,在 css 中定義了外觀。

3)jscript

jscript 表示功能。互動的內容和各種特效都在 jscript 中,jscript 描述了**中的各種功能。

2.1 爬蟲過程分為兩個環節

request (請求):

每乙個展示在使用者面前的網頁都必須經過這一步,也就是向伺服器傳送訪問請求。

response(響應):

伺服器在接收到使用者的請求後,會驗證請求的有效性,然後向使用者(客戶端)傳送響應的內容,客戶端接收伺服器響應的內容,將內容展示出來,就是我們所熟悉的網頁請求。

2.2 網頁請求的方式分為兩種

get:

相比 get 方式,多了以表單形式上傳引數的功能,因此除查詢資訊外,還可以修改資訊。

2.3 **示例:

import requests #匯入requests包

url =

''response = requests.get(url)

#get方式獲取網頁資料

print

(response.text)

#獲取網頁中的原始碼

3.1 beautiful soup :

從網頁中抓取資料。beautiful soup。目前已經被移植到 bs4 庫中,需要先安裝 bs4 庫,再匯入 beautiful soup 。

3.2 xml:

相比於 python 預設的解析器,lxml 庫具有功能更加強大、速度更快的特點,可以方便提取網頁原始碼資訊。

3.3 **示例:

import requests #匯入requests包

from bs4 import beautifulsoup

url=

''response=requests.get(url)

soup=beautifulsoup(response.text,

'lxml'

)#將複雜的 html 文件轉換成樹形結構

data = soup.select(

'#site-my-list > ul > li> a'

)#select(選擇器)定位資料,可在開發者模式下停留在對應資料上,然後右鍵『檢查』,對應的右側高亮資料,右鍵『copy』->'copy selector',即可複製路徑

print

(data)

4.1 re:

python 中呼叫正規表示式時使用 re 庫,對文字進行篩選和提取

4.2 **示例:

import re

import requests #匯入requests包

from bs4 import beautifulsoup

url=

''response=requests.get(url)

soup=beautifulsoup(response.text,

'lxml'

)#將複雜的 html 文件轉換成樹形結構

data = soup.select(

'#site-my-list > ul > li> a'

)for item in data:

result=

#re 庫的 findall 方法,第乙個引數表示正規表示式,第二個引數表示要提取的文字。'\d'匹配數字,'+'匹配前乙個字元1次或多次

print

(result)

python爬蟲入門教程

前言 在爬蟲系列文章 優雅的http庫requests 中介紹了 requests 的使用方式,這一次我們用 requests 構建乙個知乎 api,功能包括 私信傳送 文章點讚 使用者關注等,因為任何涉及使用者操作的功能都需要登入後才操作,所以在閱讀這篇文章前建議先了解python模擬知乎登入 現...

python爬蟲入門教程 Python 爬蟲介紹

一 什麼是爬蟲 爬蟲 一段自動抓取網際網路資訊的程式,從網際網路上抓取對於我們有價值的資訊。二 python爬蟲架構 網頁解析器 將乙個網頁字串進行解析,可以按照我們的要求來提取出我們有用的資訊,也可以根據dom樹的解析方式來解析。網頁解析器有正規表示式 直觀,將網頁轉成字串通過模糊匹配的方式來提取...

Python入門教程(1)

工作告一段落,開始寫入門python系列,這個系列時間跨度很長,原計畫是2016年7月份才正式學python的,結果最近來了乙個會python的同事,簡單的讓我入了門,所以先寫再說吧。按照習慣第一次輸入 hello world 完成第乙個python程式。操作符 加 減 乘 除 使用者輸入 inpu...