用python寫爬蟲簡單嗎

2022-10-04 13:48:30 字數 1971 閱讀 1829

所謂網路爬蟲,通俗的講,就是通過向我們需要的url發出http請求,獲取該url對應的http報文主體內容,之後提取該報文主體中我們所需要的資訊。

下面是乙個簡單的爬蟲程式

http基本知識

當我們通過瀏覽器訪問指定的url時,需要遵守http協議。本節將介紹一些關於http的基礎知識。

http基本流程

我們開啟乙個網頁的過程,就是一次http請求的過程。這個過程中,我們自己的主機充當著客戶機的作用,而充當客戶端的是瀏覽器。我們輸入的url對應著網路中某台伺服器上面的資源,伺服器接收到客戶端發出的http請求之後,會給客程式設計客棧戶端乙個響應,響應的內容就是請求的url對應的內容,當客戶端接收到伺服器的響應時,我們就可以在瀏覽器上看見請求的資訊了。

我們可以通過python的requests模組很方便的發起http請求。requests模組是第三方模組,安裝完成之後直接import就能使用。下面介紹一些簡單的用法

發起請求

import requests

# 請求的首部資訊

headers =

# 例子的url

url = '' # 虎撲nba新聞

# 利用requests物件的get方法,對指定的url發起請求

# 該hhhysxrn方法會返回乙個response物件

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

# 通過response物件的text方法獲取網頁的文字資訊

print(r

上面的**中,我們向虎撲的伺服器傳送了乙個get請求,獲取虎撲首頁的nba新聞。headers引數指的是http請求的首部資訊,我們請求的url對應的資源是虎撲nba新聞的首頁。獲取到對應的網頁資源之後,我們需要對其中的資訊進行提取。

通過beautifulsoup提取網頁資訊

beautifulsoup庫提供了很多解析html的方法,可以幫助我們很方便地提取我們需要的內容。我們這裡說的beautifulsoup指的是bs4。當我們成功抓取網頁之後,就可以通過beautifulsoup物件對網頁內容進行解析。在beautifulsoup中,我們最常用的方法就是find()方法和find_all()方法,借助於這兩個方法,可以輕鬆地獲取到我們需要的標籤或者標籤組。關於其他的方法,可以參考bs4的官方文件:beautifulsoup

find()方法和find_all()方法的用法如下

find(name , attrs , recursive , string , **kwargs )

# find_all()方法將返回文件中符合條件的所有tag,

find_all(name , attrs , recursive , string , **kwargs )

from bs4 import beautifulsoup

# beautifulsoup物件接收html文件字串

# lxml是html解析器

soup = beautiful(res.text, 'lxml')

# 下面的方法找出了所有class為hello的span標籤

# 並將所有的結果都放入乙個list返回

tags = soup.find_all('span', )

例項擴充套件:

例項一:

#第一種方法

import urlli #將urllib2庫引用進來

response=urllib2.urlopen("") #呼叫庫中的方法,將請求回應封裝到response物件中

html=response.read() #呼叫response物件的read()方法,將回應字串賦給hhtml變數

print html #列印出來

例項二:

#第二中方法

import urllib2

req=urllib2.request("")

response=urllib2.urlopen(req)

html = response.read()

print html

python做爬蟲難嗎 python寫爬蟲難嗎

所謂網路爬蟲,通俗的講,就是通過向我們需要的url發出http請求,獲取該url對應的http報文主體內容,之後提取該報文主體中我們所需要的資訊。下面是乙個簡單的爬蟲程式 http基本知識 當我們通過瀏覽器訪問指定的url時,需要遵守http協議。本節將介紹一些關於http的基礎知識。http基本流...

用python寫爬蟲(一)初識爬蟲

爬蟲又被稱之為網路蜘蛛 網路機械人等,簡單來說就是模擬客戶端傳送網路請求,接收請求響應,按照一定的規則自動的抓取網際網路資訊的程式。1.從個人角度來說,爬蟲可以做我們的生活助手。2.從商業角度來說,爬蟲能實現巨大的商業價值。網路爬蟲根據系統結構和開發技術大致可以分為四種型別 通用網路爬蟲 聚焦網路爬...

linux下用python寫簡單的爬蟲程式

簡述下這個爬蟲程式的基本原理 geturl.py coding utf 8 import urllib defgethtml url page urllib.urlopen url html page.read return html html gethtml print html 新建乙個getu...