溫馨提示×

溫馨提示×

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

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

python做爬蟲的小技巧

發(fā)布時(shí)間:2020-08-14 12:05:45 來源:億速云 閱讀:137 作者:小新 欄目:編程語言

小編給大家分享一下python做爬蟲的小技巧,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

整體思路流程

通過URL獲取說要爬取的頁面的響應(yīng)信息(Requests庫的使用)
通過python中的解析庫來對response進(jìn)行結(jié)構(gòu)化解析(BeautifulSoup庫的使用)
通過對解析庫的使用和對所需要的信息的定位從response中獲取需要的數(shù)據(jù)(selecter和xpath的使用)
將數(shù)據(jù)組織成一定的格式進(jìn)行保存(MongoDB的使用)
通過對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行篩選和組織,進(jìn)行數(shù)據(jù)可視化的初步展示(HighCharts庫的使用)

簡單代碼演示

 準(zhǔn)備工作

下載并安裝所需要的python庫,包括:

requests庫:用于向指定url發(fā)起請求
BeautifulSoup庫:用于解析返回的網(wǎng)頁信息
lxml庫:用于解析網(wǎng)頁返回結(jié)果
pymongo庫:用于實(shí)現(xiàn)python對MongoDB的操作

 對所需要的網(wǎng)頁進(jìn)行請求并解析返回的數(shù)據(jù)

對于想要做一個(gè)簡單的爬蟲而言,這一步其實(shí)很簡單,主要是通過requests庫來進(jìn)行請求,然后對返回的數(shù)據(jù)進(jìn)行一個(gè)解析,解析之后通過對于元素的定位和選擇來獲取所需要的數(shù)據(jù)元素,進(jìn)而獲取到數(shù)據(jù)的一個(gè)過程。

以上就是一個(gè)簡單的網(wǎng)頁爬蟲的制作過程,我們可以通過定義不同的爬蟲來實(shí)現(xiàn)爬取不同頁面的信息,并通過程序的控制來實(shí)現(xiàn)一個(gè)自動化爬蟲。

以下是一個(gè)爬蟲的實(shí)例

import requests
from bs4 import BeautifulSoup

start_url = 'http://bj.58.com/sale.shtml'
url_host = 'http://bj.58.com'
#定義一個(gè)爬蟲函數(shù)來獲取二手市場頁面中的全部大類頁面的連接
def get_channel_urls(url):
    #使用Requests庫來進(jìn)行一次請求
    web_data = requests.get(url)
    #使用BeautifulSoup對獲取到的頁面進(jìn)行解析
    soup = BeautifulSoup(web_data.text, 'lxml')
    #根據(jù)頁面內(nèi)的定位信息獲取到全部大類所對應(yīng)的連接
    urls = soup.select('ul.ym-submnu > li > b > a')
    #作這兩行處理是因?yàn)橛械臉?biāo)簽有鏈接,但是卻是空內(nèi)容
    for link in urls:
        if link.text.isspace():
            continue
        else:
            page_url = url_host + link.get('href')
            print(page_url)

看完了這篇文章,相信你對python做爬蟲的小技巧有了一定的了解,想了解更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI