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

python爬蟲(chóng)模塊URL管理器模塊用法解析

 更新時(shí)間:2020年02月03日 09:37:19   作者:一起來(lái)學(xué)python  
這篇文章主要介紹了python爬蟲(chóng)模塊URL管理器模塊用法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

這篇文章主要介紹了python爬蟲(chóng)模塊URL管理器模塊用法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

URL管理器模塊

一般是用來(lái)維護(hù)爬取的url和未爬取的url已經(jīng)新添加的url的,如果隊(duì)列中已經(jīng)存在了當(dāng)前爬取的url了就不需要再重復(fù)爬取了,另外防止造成一個(gè)死循環(huán)。舉個(gè)例子

我爬www.baidu.com 其中我抓取的列表中有music.baidu.om,然后我再繼續(xù)抓取該頁(yè)面的所有鏈接,但是其中含有www.baidu.com,可以想象如果不做處理的話(huà)就成了一個(gè)死循環(huán)了,在百度首頁(yè)和百度音樂(lè)頁(yè)循環(huán),所以有一個(gè)對(duì)列來(lái)維護(hù)URL是很重要的。

下面以python代碼實(shí)現(xiàn)為例,使用的deque雙向隊(duì)列方便取出以前的url。

from collections import deque
class URLQueue():
  def __init__(self):
    self.queue = deque() # 待抓取的網(wǎng)頁(yè)
    self.visited = set() # 已經(jīng)抓取過(guò)的網(wǎng)頁(yè)
 
  def new_url_size(self):
    '''''
    獲取未爬取URL集合的大小
    :return: 
    '''
    return len(self.queue)
 
  def old_url_size(self):
    '''''
    獲取已爬取URL的大小
    :return: 
    '''
    return len(self.visited)
 
  def has_new_url(self):
    '''''
    判斷是否有未爬取的URL
    :return: 
    '''
    return self.new_url_size() != 0
 
  def get_new_url(self):
    '''''
    獲取一個(gè)未爬取的URL
    :return: 
    '''
    new_url = self.queue.popleft()#從左側(cè)取出一個(gè)鏈接
    self.old_urls.add(new_url)#記錄已經(jīng)抓取
    return new_url
 
  def add_new_url(self, url):
    '''''
    將新的URL添加到未爬取的URL集合
    :param url: 單個(gè)url
    :return: 
    '''
    if url is None:
      return False
    if url not in self.new_urls and url not in self.old_urls:
      self.new_urls.append(url)
 
  def add_new_urls(self, urlset):
    '''''
    將新的URL添加到未爬取的URL集合
    :param urlset: url集合
    :return: 
    '''
    if urlset is None or len(urlset) == 0:
      return
    for url in urlset:
       self.add_new_url(url)

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Pytorch使用卷積神經(jīng)網(wǎng)絡(luò)對(duì)CIFAR10圖片進(jìn)行分類(lèi)方式

    Pytorch使用卷積神經(jīng)網(wǎng)絡(luò)對(duì)CIFAR10圖片進(jìn)行分類(lèi)方式

    這篇文章主要介紹了Pytorch使用卷積神經(jīng)網(wǎng)絡(luò)對(duì)CIFAR10圖片進(jìn)行分類(lèi)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • Python學(xué)習(xí)筆記之While循環(huán)用法分析

    Python學(xué)習(xí)筆記之While循環(huán)用法分析

    這篇文章主要介紹了Python學(xué)習(xí)筆記之While循環(huán)用法,結(jié)合具體實(shí)例形式分析了while循環(huán)的原理、用法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2019-08-08
  • 關(guān)于DataFrame數(shù)據(jù)的查詢(xún)和編輯

    關(guān)于DataFrame數(shù)據(jù)的查詢(xún)和編輯

    在使用pandas處理DataFrame時(shí),可通過(guò)列索引標(biāo)簽獲取列數(shù)據(jù),行數(shù)據(jù)的獲取可以利用行索引或位置切片,如iloc和loc方法,增加數(shù)據(jù)時(shí),可通過(guò)append方法增加行,直接賦值增加列,刪除數(shù)據(jù)則通過(guò)drop方法,通過(guò)設(shè)置axis參數(shù)確定是刪除行還是列
    2024-09-09
  • Python實(shí)現(xiàn)list反轉(zhuǎn)實(shí)例匯總

    Python實(shí)現(xiàn)list反轉(zhuǎn)實(shí)例匯總

    這篇文章主要介紹了Python實(shí)現(xiàn)list反轉(zhuǎn)的方法,實(shí)例總結(jié)了關(guān)于list的各種較為常見(jiàn)的操作技巧,需要的朋友可以參考下
    2014-11-11
  • Python matplotlib繪制實(shí)時(shí)數(shù)據(jù)動(dòng)畫(huà)

    Python matplotlib繪制實(shí)時(shí)數(shù)據(jù)動(dòng)畫(huà)

    Matplotlib作為Python的2D繪圖庫(kù),它以各種硬拷貝格式和跨平臺(tái)的交互式環(huán)境生成出版質(zhì)量級(jí)別的圖形。本文將利用Matplotlib庫(kù)繪制實(shí)時(shí)數(shù)據(jù)動(dòng)畫(huà),感興趣的可以了解一下
    2022-03-03
  • Python+OpenCV圖片局部區(qū)域像素值處理改進(jìn)版詳解

    Python+OpenCV圖片局部區(qū)域像素值處理改進(jìn)版詳解

    這篇文章主要為大家詳細(xì)介紹了Python+OpenCV圖片局部區(qū)域像素值處理的改進(jìn)版,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • Python文件基本操作open函數(shù)應(yīng)用與示例詳解

    Python文件基本操作open函數(shù)應(yīng)用與示例詳解

    這篇文章主要為大家介紹了Python文件基本操作open函數(shù)應(yīng)用與示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • pandas重復(fù)行刪除操作df.drop_duplicates和df.duplicated的區(qū)別

    pandas重復(fù)行刪除操作df.drop_duplicates和df.duplicated的區(qū)別

    本文主要介紹了pandas重復(fù)行刪除操作df.drop_duplicates和df.duplicated的區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • Python中的sorted函數(shù)應(yīng)用及文件操作詳解

    Python中的sorted函數(shù)應(yīng)用及文件操作詳解

    這篇文章主要介紹了Python中的sorted函數(shù)應(yīng)用及文件操作詳解,python只能將字符串寫(xiě)入到文本文件,要將數(shù)值數(shù)據(jù)存儲(chǔ)到文本本件中,必須先試用函數(shù)str()將其轉(zhuǎn)換為字符串格式,需要的朋友可以參考下
    2023-12-12
  • Python使用PyQt5實(shí)現(xiàn)中英文切換功能

    Python使用PyQt5實(shí)現(xiàn)中英文切換功能

    在Python中使用PyQt5實(shí)現(xiàn)應(yīng)用程序的中英文切換功能,可以通過(guò)國(guó)際化(i18n)和本地化(l10n)的技術(shù)來(lái)實(shí)現(xiàn),以下是一個(gè)詳細(xì)的教程,包括UI界面多語(yǔ)言切換和程序內(nèi)部字符串多語(yǔ)言切換兩部分,需要的朋友可以參考下
    2024-12-12

最新評(píng)論

南川市| 昌平区| 淳安县| 石景山区| 东乡县| 鹿邑县| 庆阳市| 民权县| 苍南县| 崇义县| 遂溪县| 广宁县| 日照市| 德阳市| 兴业县| 惠东县| 海兴县| 河间市| 当阳市| 大悟县| 左云县| 曲周县| 台山市| 湘西| 武宁县| 伽师县| 保康县| 竹北市| 西宁市| 绍兴市| 淳化县| 纳雍县| 余干县| 西和县| 甘南县| 高陵县| 五指山市| 板桥市| 泽州县| 安岳县| 西乡县|