Menu

web

BHM-Bob G

Brief

web sub-module mainly work for providing some small APIs to make a rough web-crawler even more simple. This sub-module constains multi-threads, BeautifulSoup, string utils and selenium browser control utils.

API文档

generated by cahtGPT

函数和类

get_url_page(url:str, coding = 'gbk')

给定一个URL和编码方式,返回页面的解码内容。

  • 参数:
  • url:要访问的URL的字符串表示。
  • coding:页面的字符编码方式的字符串表示。默认为'gbk'。
  • 返回值:
  • 解码后的页面内容的字符串表示。

get_url_page_s(url:str, coding = 'gbk')

返回给定URL的HTML页面内容。该函数有两个参数:
- url:要检索的网页的URL的字符串表示。
- coding:HTML内容的编码方式的字符串表示。默认为'gbk'。
该函数尝试使用get_url_page函数从给定的URL检索HTML页面内容,并使用指定的编码方式。如果失败,则返回'-html-None'。

get_url_page(url:str, return_html_text:bool = False, debug:bool = False, coding = 'gbk')

该函数接受一个URL,并返回一个BeautifulSoup对象,表示URL的HTML页面。它还可以选择返回HTML文本字符串。它还接受用于调试和指定要检索的页面的编码的可选参数。

  • 参数:
  • url (str):要检索的URL的字符串表示。
  • return_html_text (bool):一个布尔值,指示是否返回HTML文本字符串。默认为False。
  • debug (bool):一个布尔值,指示是否使用调试模式。默认为False。
  • coding:要检索的页面的编码。默认为'gbk'。
  • 返回值:
  • BeautifulSoup对象:表示URL的HTML页面的BeautifulSoup对象。
  • str(可选):如果return_html_text为True,则返回HTML文本字符串。

get_url_page(browser, url:str, return_html_text:bool = False, debug = False)

使用webdriver实例检索网页的HTML源代码。

  • 参数:
  • browser:webdriver实例。
  • url (str):要检索的网页的URL。
  • return_html_text (bool):是否返回HTML源代码作为字符串。
  • debug (bool):是否启用调试模式。
  • 返回值:
  • 如果return_html_text为True,则返回一个包含BeautifulSoup对象和原始HTML源代码的元组。否则,返回一个表示解析后的HTML的BeautifulSoup对象。

get_between(string:str, head:str, tail:str, headRFind:bool = False, tailRFind:bool = True, retHead:bool = False, retTail:bool = False)

返回string中位于最后一个head和第一个tail之间的子字符串。如果headRFind为True,则使用最后一个head来查找子字符串的起始索引;否则,使用第一个head。如果tailRFind为True,则使用最后一个tail来查找子字符串的结束索引;否则,使用第一个tail。如果retHead为True,则返回的子字符串包括head;否则,它从head之后开始。如果retTail为True,则返回的子字符串包括tail;否则,它在tail之前结束。如果string中没有找到headtail,则返回错误消息。

  • 参数:
  • string:要从中提取子字符串的字符串。
  • head:子字符串的起始分隔符。
  • tail:子字符串的结束分隔符。
  • headRFind:是否查找最后一个(True)或第一个(False)head的出现。
  • tailRFind:是否查找最后一个(True)或第一个(False)tail的出现。
  • retHead:是否在返回的子字符串中包含head
  • retTail:是否在返回的子字符串中包含tail
  • 返回值:
  • stringheadtail之间的子字符串。

get_between_re(string:str, head:str, tail:str, head_r:bool = False, tail_r:bool = True, ret_head:bool = False, ret_tail:bool = False)

返回string中位于第一个head和第一个tail之间的子字符串。如果head_r为True,则返回位于最后一个head和第一个tail之间的子字符串。如果tail_r为True,则返回位于第一个head和最后一个tail之间的子字符串。如果ret_head为True,则在返回的子字符串中包含head子字符串。如果ret_tail为True,则在返回的子字符串中包含tail子字符串。

  • 参数:
  • string:要搜索子字符串的字符串。
  • head:子字符串的左边界。
  • tail:子字符串的右边界。
  • head_r:如果为True,则返回位于最后一个head和第一个tail之间的子字符串。
  • tail_r:如果为True,则返回位于第一个head和最后一个tail之间的子字符串。
  • ret_head:如果为True,则在返回的子字符串中包含head子字符串。
  • ret_tail:如果为True,则在返回的子字符串中包含tail子字符串。
  • 返回值:
  • stringheadtail之间的子字符串。

transfer_str2by(by:str)

将Selenium By标识符的字符串表示转换为实际的By标识符。

  • 参数:
  • by:By标识符的字符串表示。
  • 返回值:
  • By标识符。

send_browser_key(browser, keys:str, element:str, by:str = 'class', wait:int = 5)

使用Selenium WebDriver将一串键发送到网页上的元素。

  • 参数:
  • browser:要使用的WebDriver对象。
  • keys:要发送到元素的键的字符串。
  • element:要发送键的元素的标识符。
  • by:用于查找元素的方法。默认为'class'。
  • wait:等待元素出现的最长时间(秒)。默认为5。
  • 返回值:
  • 无。

click_browser(browser, element:str, by:str = 'class', wait = 5)

使用Selenium WebDriver在浏览器中单击指定的元素。

  • 参数:
  • browser:要使用的Selenium WebDriver。
  • element:要单击的元素的标识符。
  • by:用于定位元素的方法(默认为'class')。
  • wait:等待元素出现的秒数。
  • 返回值:
  • 无。

_wait_for_quit(statuesQue)

循环等待用户输入'e',然后发送退出信号。

  • 参数:
  • statuesQue:用于发送和接收状态的队列。
  • 返回值:
  • 0。

statues_que_opts(theQue, var_name, opts, *args)

根据选项对状态队列进行操作。

  • 参数:
  • theQue:状态队列。
  • var_name:要操作的变量名。
  • opts:操作选项。
  • args:操作参数。
  • 返回值:
  • 根据选项返回的值。

get_input(promot:str = '', end = '\n')

获取用户输入。

  • 参数:
  • promot:提示信息。
  • end:结束符。
  • 返回值:
  • 用户输入的字符串。

show_prog_info(idx:int, sum:int = -1, freq:int = 10, otherInfo:str = '')

以一定的频率打印任务的进度信息。

  • 参数:
  • idx:任务的当前进度。
  • sum:任务的总大小。默认为-1。
  • freq:打印进度信息的频率。默认为10。
  • otherInfo:其他信息。默认为空字符串。
  • 返回值:
  • 无。

Timer

计时器类,用于测量时间间隔。

  • 方法:
  • OnlyUsed():返回上次调用到现在的时间间隔。
  • __call__():返回上次调用到现在的时间间隔,并更新计时器。

ThreadsPool

线程池类,用于管理多个线程。

  • 方法:
  • __init__(sum_threads:int, self_func, other_data, name = 'ThreadsPool'):初始化线程池。
  • put_task(data):向线程池中添加任务。
  • loop2quit(wait2quitSignal):循环等待任务完成并返回结果。

全局变量

CHROMEDRIVERPATH

ChromeDriver的路径。

  • 类型:字符串

statuesQue

用于发送和接收状态的队列。

  • 类型:Queue

Related

Wiki: Home

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.