Python簡單爬蟲入門二

2022-07-17 08:00:11 字數 2235 閱讀 4288

上一次我們爬蟲我們已經成功的爬下了網頁的源**,那麼這一次我們將繼續來寫怎麼抓去具體想要的元素

首先回顧以下我們beautifulsoup的基本結構如下

#

!/usr/bin/env python

#-*-coding:utf-8 -*-

from bs4 import

beautifulsoup

import

requests

headers =

url = "

爬取網頁的位址

"web_data = requests.get(url,headers=headers)

soup = beautifulsoup(web_data.text,"

lxml

")

重要事情再次強調這是我們開始爬取網頁的乙個基本結構,如同建樓的乙個地基。

首先匯入所需的工具也就是模組方法 from import

偽裝瀏覽器headers向瀏覽器發出請求requests.get拿到返回結果在用beautifulsoup以lxml格式解析網頁**

那麼到這我們就開始取網頁中我們想要的資料例如(一般都會放到標籤img下的src內),標題(一般以title命名或者放入h3或a標籤裡),在就是內容也會放入和標題一樣的

標籤中怎麼區分一般會通過css命名結構來區分。

select是乙個選擇獲取的方法如果大家用過mysql select * from table 是不是可以檢視表內容一樣的效果("img")就是獲取哪標籤,和mysql選取位置where類似

由於select是一次性獲取返回列表,所以看起來很費勁再次我就用for迴圈去除每乙個元素這樣可以看到多行資料效果圖如下:

如何去除中間src方法有很幾種其中例如正則匹配,不過我們有簡單的內建方法想聽結果如何下回分解。

無論工具多好用,得多用你才能熟練,現在我們繼續抓去標題也可能是內容的當然還是一步步來熟練操作,

滑鼠右鍵點選標題處或者是內容--點選審查元素效果如下:

這裡一一對應了網頁上的小標題以及源**的位置及其標籤 最後細心的朋友會發現html body div #container....div.auther p a這一行肯定會疑惑這是什麼

titles = soup.select("

div.auther > p > a")

for title in

titles:

print title

老規矩用select來選擇獲取的內容("div.auther > p > a")這就是網頁定位標題的位置意思:在div標籤css是auther中間用.點連線下的p標籤下的a標籤內

由於標籤有層級結構我們要告訴**去**找東西,打個比方boss要你去資料室,a櫃裡面的第三行中的馬總公司資料拿來一樣。

這裡如過還是模糊我建議你試著去多練習抓去其它的元素多練習幾次可能就有自己的理解見地,掩飾效果如下:

還是右鍵-審查元素(有的**會遮蔽此功能和檢視源**)檢視網頁中charset = "編碼格式" 如果是標準utf-8還好 如果是gb2312或其它可能你抓的資訊就會出現亂碼

最後你能獨到這我只能說謝謝**下次再會。。!

python爬蟲入門簡單爬蟲

coding utf 8 from bs4 import beautifulsoup,soupstrainer from threading import lock,thread import sys,time,os from urlparse import urlparse,urljoin fro...

爬蟲二 Python爬蟲入門二

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

python爬蟲簡單入門

coding utf 8 from bs4 import beautifulsoup,soupstrainer from threading import lock,thread import sys,time,os from urlparse import urlparse,urljoin fro...