wiseflow/core/scrapers
2024-06-14 09:08:12 +08:00
..
__init__.py web dashboard 2024-06-13 21:08:58 +08:00
general_scraper.py code review 2024-06-14 09:08:12 +08:00
mp_crawler.py code review 2024-06-14 09:08:12 +08:00
README.md web dashboard 2024-06-13 21:08:58 +08:00
simple_crawler.py code review 2024-06-14 09:08:12 +08:00

这个文件夹下可以放置对应特定信源的爬虫注意这里的爬虫应该是可以解析信源文章列表url并返回文章详情dict的

专有爬虫配置

写好爬虫后将爬虫程序放在这个文件夹并在__init__.py下的scraper_map中注册爬虫类似

{'www.securityaffairs.com': securityaffairs_scraper}

其中key就是信源地址value是函数名

爬虫应该写为函数形式,出入参约定为:

输入:

  • expiration datetime的date.date()对象,爬虫应该只抓取这之后(含这一天)的文章
  • existings[str], 数据库已有文章的url列表爬虫应该忽略这个列表里面的url

输出:

  • [dict]返回结果列表每个dict代表一个文章格式如下 [{'url': str, 'title': str, 'author': str, 'publish_time': str, 'content': str, 'abstract': str, 'images': [Path]}, {...}, ...]

注意publish_time格式为"%Y%m%d" 如果爬虫抓不到可以用当天日期

另外title和content是必须要有的

通用页面解析器

我们这里提供了一个通用页面解析器该解析器可以智能获取信源文章列表接下来对于每一个文章url会先尝试使用 gne 进行解析如果失败的话再尝试使用llm进行解析。

通过这个方案,可以实现对大多数普通新闻类、门户类信源的扫描和信息提取。

然而我们依然强烈建议用户自行写专有爬虫或者直接订阅我们的数据服务,以实现更加理想且更加高效的扫描。