本文由慕課網相關視頻課程後所寫,目前還很簡陋,以後或許會更新。
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)