本文由慕课网相关视频课程后所写,目前还很简陋,以后或许会更新。
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)