第二只Python爬虫

同样参照网上教程,同时把会的不多的html标签又复习了一下

同时安利一个网站,我唯一加入过的一个社团官网(web开发协会

www.nutjs.com

前任会长是属于大牛级的存在,目前网站已多次重构,花生太神辣。

好了,于是用这个网站做了下练习

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

queue = deque()
visited = set()

url = 'http://www.nutjs.com/'
# 初始抓取网站

queue.append(url)
cnt = 0 #抓取网页计数器

while queue:    #队列循环bfs抓取
    url = queue.popleft()
    visited |= {url}     #去重,防止重复抓取

    print('正在抓取:'+ url)
    cnt+=1
    urlop = urllib.request.urlopen(url)
    if 'html' not in urlop.getheader('Content-Type'): continue 
    #过滤出合法所需的文本
    try:
        data = urlop.read().decode('utf-8')
    except:
        continue
    
    linkre = re.compile('href=\"(.+?)\"')
    for x in linkre.findall(data):
        # print(x)
        if 'http' in x and x not in visited:
            queue.append(x)

运行效果如下:

转载于:https://www.cnblogs.com/Kurokey/p/5864494.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值