亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

用python寫爬蟲難嗎

發布時間:2020-07-30 10:05:47 來源:億速云 閱讀:164 作者:小豬 欄目:開發技術

這篇文章主要講解了用python寫爬蟲難嗎,內容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。

所謂網絡爬蟲,通俗的講,就是通過向我們需要的URL發出http請求,獲取該URL對應的http報文主體內容,之后提取該報文主體中我們所需要的信息。

下面是一個簡單的爬蟲程序

http基本知識

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

http基本流程

我們打開一個網頁的過程,就是一次http請求的過程。這個過程中,我們自己的主機充當著客戶機的作用,而充當客戶端的是瀏覽器。我們輸入的URL對應著網絡中某臺服務器上面的資源,服務器接收到客戶端發出的http請求之后,會給客戶端一個響應,響應的內容就是請求的URL對應的內容,當客戶端接收到服務器的響應時,我們就可以在瀏覽器上看見請求的信息了。

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

發起請求

import requests
# 請求的首部信息
headers = {
  'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) 
  Chrome/65.0.3325.146 Safari/537.36'
}
# 例子的url
url = 'https://voice.hupu.com/nba' # 虎撲nba新聞
# 利用requests對象的get方法,對指定的url發起請求
# 該方法會返回一個Response對象
res = requests.get(url, headers=headers)
# 通過Response對象的text方法獲取網頁的文本信息
print(res.text)

上面的代碼中,我們向虎撲的服務器發送了一個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', {'class': 'hello'})

實例擴展:

實例一:

#第一種方法
import urllib2 #將urllib2庫引用進來
response=urllib2.urlopen("http://www.baidu.com") #調用庫中的方法,將請求回應封裝到response對象中
html=response.read() #調用response對象的read()方法,將回應字符串賦給hhtml變量
print html #打印出來

實例二:

#第二中方法
import urllib2
req=urllib2.Request("http://ww.baidu.com")
response=urllib2.urlopen(req)
html = response.read()
print html

看完上述內容,是不是對用python寫爬蟲難嗎有進一步的了解,如果還想學習更多內容,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

光泽县| 兰坪| 黄大仙区| 专栏| 南郑县| 黄石市| 英德市| 嘉善县| 进贤县| 松溪县| 商丘市| 河津市| 枞阳县| 礼泉县| 苍南县| 宜兰市| 金昌市| 准格尔旗| 马龙县| 芮城县| 晋宁县| 宁德市| 阳谷县| 昭觉县| 四子王旗| 虎林市| 资阳市| 雷州市| 云安县| 科技| 山阴县| 韶关市| 达日县| 东海县| 乌鲁木齐县| 西乡县| 法库县| 龙州县| 东乡族自治县| 东至县| 桃源县|