最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python抓取多種類(lèi)型的頁(yè)面方法實(shí)例

 更新時(shí)間:2019年11月20日 15:18:48   投稿:laozhang  
在本篇文章里小編給大家整理的是關(guān)于python抓取多種類(lèi)型的頁(yè)面方法實(shí)例內(nèi)容,有需要的朋友們可以學(xué)習(xí)下。

與抓取預(yù)定義好的頁(yè)面集合不同,抓取一個(gè)網(wǎng)站的所有內(nèi)鏈會(huì)帶來(lái)一個(gè) 挑戰(zhàn),即你不知道會(huì)獲得什么。好在有幾種基本的方法可以識(shí)別頁(yè)面類(lèi)型。

通過(guò)URL

一個(gè)網(wǎng)站中所有的博客文章可能都會(huì)包含一個(gè) URL(例如 http://example.com/blog/title-of-post)。

通過(guò)網(wǎng)站中存在或者缺失的特定字段

如果一個(gè)頁(yè)面包含日期,但是不包含作者名字,那你可以將其歸類(lèi) 為新聞稿。如果它有標(biāo)題、主圖片、價(jià)格,但是沒(méi)有主要內(nèi)容,那么它 可能是一個(gè)產(chǎn)品頁(yè)面。

通過(guò)頁(yè)面中出現(xiàn)的特定標(biāo)簽識(shí)別頁(yè)面

即使不抓取某個(gè)標(biāo)簽內(nèi)的數(shù)據(jù),你仍然可以利用這個(gè)標(biāo)簽。你的爬 蟲(chóng)可以尋找類(lèi)似于 <div id="related-products"> 這樣的元素來(lái)識(shí) 別產(chǎn)品頁(yè)面,即便是爬蟲(chóng)對(duì)相關(guān)產(chǎn)品的內(nèi)容并不感興趣。

為了跟蹤多個(gè)頁(yè)面類(lèi)型,你需要在 Python 中有多個(gè)類(lèi)型的頁(yè)面對(duì)象。 這通過(guò)兩種方式來(lái)實(shí)現(xiàn)。

如果頁(yè)面都是相似的(它們基本上都是相同類(lèi)型的內(nèi)容),你可能需要 在現(xiàn)有的網(wǎng)頁(yè)對(duì)象中加入一個(gè) pageType 屬性:

class Website:
"""所有文章/網(wǎng)頁(yè)的共同基類(lèi)"""
def __init__(self, type, name, url, searchUrl, resultListing,
resultUrl, absoluteUrl, titleTag, bodyTag):
self.name = name
self.url = url
self.titleTag = titleTag
self.bodyTag = bodyTag
self.pageType = pageType

如果你在一個(gè)類(lèi) SQL 的數(shù)據(jù)庫(kù)中對(duì)這些頁(yè)面進(jìn)行排序,這種模式類(lèi)型 意味著這些頁(yè)面應(yīng)該被存放在同一張表中,并且加入一個(gè)額外的 pageType 列。

如果你抓取的頁(yè)面或內(nèi)容各不相同(它們包含不同類(lèi)型的字段),就需 要為每個(gè)頁(yè)面類(lèi)型創(chuàng)建一個(gè)新的對(duì)象。當(dāng)然,有些東西是所有網(wǎng)頁(yè)共有 的——它們都有一個(gè) URL,也可能都有一個(gè)名稱(chēng)或者頁(yè)面標(biāo)題。這種 情況非常適合用子類(lèi):

class Website:
"""所有文章/網(wǎng)頁(yè)的共同基類(lèi)"""

def __init__(self, name, url, titleTag):
self.name = name
self.url = url
self.titleTag = titleTag

這不是一個(gè)由你的爬蟲(chóng)直接使用的對(duì)象,而是將被你的頁(yè)面類(lèi)型引用的 對(duì)象:

class Product(Website):
"""產(chǎn)品頁(yè)面要抓取的信息"""
def __init__(self, name, url, titleTag, productNumber, price):    
Website.__init__(self, name, url, TitleTag)
self.productNumberTag = productNumberTag
self.priceTag = priceTag
class Article(Website):
"""文章頁(yè)面要抓取的信息"""
def __init__(self, name, url, titleTag, bodyTag, dateTag):
Website.__init__(self, name, url, titleTag)
self.bodyTag = bodyTag
self.dateTag = dateTag

這個(gè)產(chǎn)品頁(yè)面擴(kuò)展了Website基類(lèi),并且加入了僅適用于產(chǎn)品的productNumber和price屬性,而Article類(lèi)加入了body和date屬性,這兩個(gè)屬性是不適用于產(chǎn)品的。

你可以用這兩個(gè)類(lèi)去抓取一個(gè)商店網(wǎng)站,該網(wǎng)站除了產(chǎn)品,可能還包含博客文章或新聞稿。

希望以上知識(shí)點(diǎn)能夠幫助到大家,感謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • Gauss-Seidel迭代算法的Python實(shí)現(xiàn)詳解

    Gauss-Seidel迭代算法的Python實(shí)現(xiàn)詳解

    這篇文章主要介紹了Gauss-Seidel迭代算法的Python實(shí)現(xiàn)詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-06-06
  • Python給圖像添加噪聲具體操作

    Python給圖像添加噪聲具體操作

    在本文里我們給大家整理了關(guān)于Python如何給圖像添加噪聲的相關(guān)知識(shí)點(diǎn)以及操作步驟,需要的朋友們學(xué)習(xí)下。
    2019-03-03
  • Python進(jìn)階-函數(shù)默認(rèn)參數(shù)(詳解)

    Python進(jìn)階-函數(shù)默認(rèn)參數(shù)(詳解)

    下面小編就為大家?guī)?lái)一篇Python進(jìn)階-函數(shù)默認(rèn)參數(shù)(詳解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-05-05
  • Python中的?Numpy?數(shù)組形狀改變及索引切片

    Python中的?Numpy?數(shù)組形狀改變及索引切片

    這篇文章主要介紹了Python中的?Numpy?數(shù)組形狀改變及索引切片,Numpy提供了一個(gè)reshape()方法,它可以改變數(shù)組的形狀,返回一個(gè)新的數(shù)組,更多相關(guān)內(nèi)容需要的小伙伴可以參考下面文章
    2022-05-05
  • python開(kāi)發(fā)任意表達(dá)式求值全功能示例

    python開(kāi)發(fā)任意表達(dá)式求值全功能示例

    這篇文章主要為大家介紹了python開(kāi)發(fā)任意表達(dá)式求值全功能示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • Python語(yǔ)音合成之第三方庫(kù)gTTs/pyttsx3/speech橫評(píng)(內(nèi)附使用方法)

    Python語(yǔ)音合成之第三方庫(kù)gTTs/pyttsx3/speech橫評(píng)(內(nèi)附使用方法)

    Python是一種非常強(qiáng)大的腳本語(yǔ)言,可以用來(lái)實(shí)現(xiàn)各種復(fù)雜的應(yīng)用,其中之一就是文本轉(zhuǎn)語(yǔ)音,即把文字轉(zhuǎn)換成聲音來(lái)發(fā)出,下面這篇文章主要給大家介紹了關(guān)于Python語(yǔ)音合成之第三方庫(kù)gTTs/pyttsx3/speech橫評(píng)的相關(guān)資料,文中還介紹了詳細(xì)的使用方法,需要的朋友可以參考下
    2023-05-05
  • 在django中圖片上傳的格式校驗(yàn)及大小方法

    在django中圖片上傳的格式校驗(yàn)及大小方法

    今天小編就為大家分享一篇在django中圖片上傳的格式校驗(yàn)及大小方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-07-07
  • python字符串的多行輸出的實(shí)例詳解

    python字符串的多行輸出的實(shí)例詳解

    在本篇文章里小編給大家整理的是一篇關(guān)于python字符串的多行輸出的實(shí)例詳解內(nèi)容,有興趣的朋友們跟著學(xué)習(xí)下。
    2021-06-06
  • Python中的Cookie模塊如何使用

    Python中的Cookie模塊如何使用

    在本篇文章中小編給大家整理的是一篇關(guān)于Python中的Cookie模塊用法的相關(guān)知識(shí)點(diǎn)文章,需要的朋友們可以參考下。
    2020-06-06
  • 使用python裝飾器驗(yàn)證配置文件示例

    使用python裝飾器驗(yàn)證配置文件示例

    項(xiàng)目中用到了一個(gè)WriteData的函數(shù)保存用戶(hù)填寫(xiě)的配置,為了實(shí)現(xiàn)驗(yàn)證用戶(hù)輸入的需求,在不影響接口的使用的前提下,采用了python的裝飾器實(shí)現(xiàn),代碼片段演示了如何驗(yàn)證WriteData函數(shù)的輸入?yún)?shù)
    2014-02-02

最新評(píng)論

久治县| 浪卡子县| 疏勒县| 富源县| 顺昌县| 霸州市| 西城区| 长岛县| 资溪县| 道孚县| 宁明县| 巫山县| 克拉玛依市| 进贤县| 田东县| 新乡市| 建平县| 望江县| 曲麻莱县| 遵义县| 东源县| 遂溪县| 东阿县| 青冈县| 金堂县| 徐州市| 荣昌县| 府谷县| 兴和县| 南通市| 洞头县| 芜湖市| 太湖县| 特克斯县| 鄂温| 襄垣县| 丰镇市| 南陵县| 杭州市| 伊金霍洛旗| 林口县|