爬虫框架

本文由慕课网相关视频课程后所写,目前还很简陋,以后或许会更新。

import requests
import bs4.BeautifulSoup as BS

# url 管理器,其主要使用了迭代器
class url_manage:
    def __init__(self, root_url, pre_url=''):
        self.root_url = {root_url}   # 注意其类型为元组
        self.pre_url = pre_url
        self.i = -1
    def __iter__(self):
        return iter(soelf.root_url)
    def __next__(self):
        self.i += 1
        if self.i < len(self.root_url):
            return list(self.root_url)[self.i]
        else:
            raise StopIteration
    # 返回下一元素
    next = __next__
    # 添加一个新的网址至url管理器
    def add(self, url):
        self.root_url = self.root_url | {url}

# html 分析器,提取需要的内容
# 目前这个类并无太大作用,跟一个偏函数作用差不多,只不过打包成类后方便打包别的功能
class html_parset:
    def __init__(self, text):
        self.text = text
    def find(label, attibute):
        return BS(self.text, "html.parser").find(label, attibute)
    def find_all(label, attibute):
        return BS(self.text, "html.parser").find_all(label, attibute)

# 将提取后的内容输出,默认输出至屏幕,指定文件地址可保存至本地文件 
def output(data, file=sys.stdout):
    if isinstance(data, list):
        for line in data:
            print(line, file=file)
    else:
        print(data, file=file)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章