一提到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...