python簡單爬蟲

LueOsburn 8年前發布 | 9K 次閱讀 Python

[Python]代碼    

import re
import urllib
import urllib.request
from collections import deque

queue = deque()#存放待爬取的網址
visited = set()#存放爬取過的網址。判斷是否爬取過

url = "http://news.dbanotes.net"#入口網站
queue.append(url)
count = 1

while queue:
    url = queue.popleft()#刪除已經爬取過的隊首的網址url
    visited |= {url}#把已經爬取過的頁面放入set中,方便下面的判斷
    urlop = urllib.request.urlopen(url)
    if 'html' not in urlop.getheader('Content-Type'):
        continue#如果是html再繼續爬取
    try:
        data = urlop.read().decode('utf-8')
    except:
        continue
    value = re.findall(r'href="(.+?)"',data)
    for x in value:
        if 'http' in x and x not in visited:
            print("加入隊列:" + x)
 本文由用戶 LueOsburn 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!