Python爬蟲 最正確的入門姿勢

2021-08-14 16:40:04 字數 2530 閱讀 4134

一提到python爬蟲,人人都想使用知名框架beautiful soup或是scrapy,新手貿然進入,必是學的雲裡霧裡,即使能夠爬到資料,也根本不知其所以然!

想學習爬蟲,html5 tag , ajax,get,post是繞不過的,但是並不需要一開始就完全掌握。當你需要使用到時去網上學習即可!

import requests

url = ""

respond = requests.get(url)

print(respond.content)

其中page.conent就是頁面的html**。

使用一種叫做 xpath 的描述方式可以表述為://*[@id="lg"]/img

我們可以使用 xpath路徑獲取某個標籤

import requests

from lxml import html

url = ""

respond = requests.get(url)

document = html.fromstring(respond.content)

tag_list_img = document.xpath('//*[@id="lg"]/img')

for tag_img in tag_list_img:

img_url = tag_img.get("src")

print(img_url)

我們使用

html.fromstring()來解析html,通過

xpath()來查詢標籤,需要注意的是xpath()永遠返回乙個

list

可以使用get()和set()來操作標籤,可以使用text_content()來獲取標籤內部文字,或者可以繼續對標籤呼叫xpath()方法繼續查詢。

s?wd=python

user-agent,即使用者標識,以模擬瀏覽器環境。

import requests

from lxml import html

url = "s?wd=python"

headers =

respond = requests.get(url, headers=headers)

document = html.fromstring(respond.content)

tag_list = document.xpath('//*[@class="result c-container "]/h3/a[1]')

for tag in tag_list:

url = tag.get("href")

title = tag.text_content()

print(title, url)

輸出結果如下:

cookies儲存了許多鍵值對,使得伺服器能夠對當前請求者進行唯一標識,目的是為了完成使用者的自動登入。

我們可以在瀏覽器自帶的開發者工具中的network標籤中,找到目標url的請求體中的headers即可找到cookies

cookies_str = 'url的cookies'

cookies = {}

for c_str in cookies_str.split(";"):

k, v = c_str.split("=", 1)

cookies[k.strip()] = v.strip()

完成之後,只需要在requests的get或post方法中傳入該引數即可:

respond = requests.get(url, cookies=cookies, headers=headers)
訪問網頁有get和post兩種方式,主要的區別是傳參方式不同,

get方法,直接在url的?後面傳遞引數,也只能傳遞簡單的字串,如:s?wd=python

post方法則將引數放在整個請求體中,可以傳遞的引數大小沒有限制。

即使使用get方法,將引數直接寫在url中也是不夠優雅的,所以我們只需要在請求連線時傳遞乙個dict引數即可

params = '), 

'_': '1514276904732'

} respond = requests.get(url, params=params, headers=headers)

需要注意的地方是,params的只能為單層結構,鍵或值只能是字串

詳解Python安裝scrapy的正確姿勢

執行平台 windows python版本 python3.x ide sublime text3 一 scrapy簡介 scrapy是乙個為了爬取 資料提取結構性資料而編寫的應用框架,可以應用於資料探勘,資訊處理或儲存歷史資料等一些列的程式中。scrapy最初就是為了網路爬取而設計的。現在,scr...

2023年最詳細的python爬蟲入門教程

爬蟲 又被稱為網頁蜘蛛,網路機械人 就是模擬客戶端傳送網路請求,接收請求響應,一種按照一定的規則,自動地抓取網際網路資訊的程式。原則上,只要是瀏覽器 客戶端 能做的事情,爬蟲都能夠做。robots協議 通過robots協議告訴搜尋引擎哪些頁面可以抓取,哪些頁面不能抓取,但它僅僅是道德層面上的約束。但...

Python爬蟲入門

今天看了菜鳥教程的python教程,準備做個小作業寫個爬蟲程式。其中主要涉及到基本語法 正規表示式 urllib和re兩個模組。import urllib 載入模組 import re defgethtml url page urllib.urlopen url html page.read ret...