Loading repository data…
Loading repository data…
luxcem / repository
Apifier is a very simple HTML parser written in Python based on CSS selectors
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
Apifier is a very simple HTML parser written in Python.
It aims to parse HTML documents in a declarative way using css or xpath selectors. Its main purpose is to parse tabular and/or paginated data.
Apifier is available for python 3
pip install apifier
Getting all comments from an article at "LeFigaro.fr"
from apifier import Apifier
config = {
"name": "FigaroBot article comments",
"encoding": "latin-1",
"url": "http://www.lefigaro.fr/politique/le-scan/2016/07/21/25001-20160721ARTFIG00062-attentat-de-nice-la-droite-demande-une-enquete-independante.php",
"foreach": "#fig-pagination-nav > li > a",
"context": "page",
"xpath": False,
"prefix": "#reagir > div > div > div.fig-col.fig-col--comments > div:nth-child(3) > ul > li > article >",
"description": {
"author": "div.fig-comment-header a",
"comment": "div.fig-comment-msg p"
}
}
api = Apifier(config=config)
data = api.load()
<ul id="fig-pagination-nav">
<li class="fig-pagination-current"><a href="…"> 1 </a></li>
<li><a href="…"> 2 </a></li>
<li><a href="…"> 3 </a></li>
</ul>
To use xpath selector instead of css write them prefixed by a $.
The result is :
data =
[
{'comment': "…", 'author': '…', 'page': '1'}, etc
]