本文共 2142 字,大约阅读时间需要 7 分钟。
Gerapy Auto Extractor 是一个专为中文新闻网站设计的自动提取模块,能够无需 XPath 或 Selector 就可以从列表页面提取 URL,从详情页面提取标题、日期和内容。该模块在实际应用中表现尤为出色。
可以通过以下命令安装 Gerapy Auto Extractor:
pip3 install gerapy-auto-extractor
该模块提供了多种功能,主要包括以下几个方面:
extract_list 方法:用于从列表页面中提取主要列表项的 URL 和标题。可以通过以下命令查看示例输出:
from gerapy_auto_extractor import extract_listhtml = content('samples/list/sample.html')print(jsonify(extract_list(html)))extract_title 方法:提取详情页面的标题。extract_content 方法:提取详情页面的内容。extract_datetime 方法:提取详情页面的发布时间。extract_detail 方法:同时提取标题、内容和日期,返回结果以 JSON 格式呈现。is_list 和 is_detail 方法:用于判断页面类型,返回布尔值。probability_of_list 和 probability_of_detail 方法:分别返回页面属于列表页面或详情页面的概率,返回浮点数值。例如:
html = content('samples/list/sample.html')print(jsonify(extract_list(html)))html = content('samples/detail/sample.html')print(jsonify(extract_detail(html)))html = content('samples/detail/sample.html')probability_of_detail, probability_of_list = probability_of_detail(html), probability_of_list(html)print(probability_of_detail, probability_of_list)print(is_detail(html), is_list(html)) 以下是从列表页面和详情页面提取的示例输出:
[ { "title": "山东通报\"苟晶事件\":15人被处理部分事实有反转", "url": "http://news.163.com/20/0703/13/FGK7NCOR0001899O.html" }, { "title": "胡锡进:香港这仗就是要让华盛顿明白,它管多了", "url": "https://news.163.com/20/0702/19/FGI8IUEP0001899O.html" }, { "title": "山东一校长为儿子伪造档案11岁开始领国家工资", "url": "https://news.163.com/20/0702/21/FGIENBGS0001899O.html" }, { "title": "大理西洱河又现\"鱼腾\"奇景市民沿岸围观有人徒手抓", "url": "https://news.163.com/20/0704/03/FGLOFC3P0001875P.html" }, { "title": "陈国基被任命为香港特别行政区国安委秘书长", "url": "https://news.163.com/20/0702/12/FGHFAVS200018AOQ.html" }, { "title": "孙力军等6名中管干部被查上半年反腐数据说明啥?", "url": "https://news.163.com/20/0703/00/FGIPQ11D0001899O.html" }, { "title": "香港特区政府严厉谴责暴徒恶行全力支持警队严正执法", "url": "https://news.163.com/20/0702/09/FGH801750001899O.html" }] 如果您在研究或项目中使用 Gerapy Auto Extractor,请在参考部分添加以下 BibTeX 引用:
@misc{cui2020gerapy, author = {Qingcai Cui}, title = {Gerapy Auto Extractor}, howpublished = {\url{https://github.com/Gerapy/GerapyAutoExtractor}}, year = {2020}} 转载地址:http://ltxm.baihongyu.com/