mirror of
https://github.com/lorien/awesome-web-scraping.git
synced 2024-11-21 17:17:03 +02:00
Initial commit
This commit is contained in:
commit
a7015ca629
5
.gitignore
vendored
Normal file
5
.gitignore
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
*.swp
|
||||
*.swo
|
||||
*.orig
|
||||
|
||||
html
|
3
LICENSE
Normal file
3
LICENSE
Normal file
@ -0,0 +1,3 @@
|
||||
Creative Commons Attribution 4.0 International License (CC BY 4.0)
|
||||
|
||||
http://creativecommons.org/licenses/by/4.0/
|
5
Makefile
Normal file
5
Makefile
Normal file
@ -0,0 +1,5 @@
|
||||
.PHONY: html
|
||||
|
||||
html:
|
||||
python -m markdown README.md > html/README.html
|
||||
python -m markdown python.md > html/python.html
|
11
README.md
Normal file
11
README.md
Normal file
@ -0,0 +1,11 @@
|
||||
# Web Scraping
|
||||
|
||||
The list of tools, programming libraries and APIs used in web-scraping.
|
||||
|
||||
## Programming languages
|
||||
|
||||
* [Python](http://github.com/lorien/web-scraping/blob/master/python.md)
|
||||
|
||||
## Other
|
||||
|
||||
* [Python](http://github.com/lorien/web-scraping/blob/master/web_service.md)
|
36
python.md
Normal file
36
python.md
Normal file
@ -0,0 +1,36 @@
|
||||
# Python Web Scraping Libraries
|
||||
|
||||
## Network Request
|
||||
* [urllib](https://docs.python.org/3.4/library/urllib.html?highlight=urllib#module-urllib) - standard python network library
|
||||
* [requests](http://www.python-requests.org/) - network library
|
||||
* [grab](http://github.com/lorien/grab) - network library (pycurl based)
|
||||
* [pycurl](http://pycurl.sourceforge.net/) - network library (binding to [libcurl](http://curl.haxx.se/libcurl/))
|
||||
* [urllib3](https://github.com/shazow/urllib3) - network library
|
||||
|
||||
## Web-Scraping Frameworks
|
||||
* [grab](http://github.com/lorien/grab) - web-scraping framework (pycurl/multicurl based)
|
||||
* [scrapy](http://scrapy.org/) - web-scraping framework (twisted based)
|
||||
|
||||
## HTML/XML Parsing
|
||||
* [lxml](http://lxml.de) - effective HTML/XML processing library. Supports XPATH.
|
||||
* [cssselect](https://pythonhosted.org/cssselect) - quering DOM tree with CSS expressions
|
||||
* [pyquery](http://pythonhosted.org//pyquery/) - парсинг XML/HTML с помощью jquery-запросов (требует lxml)
|
||||
* [BeautifulSoup](http://www.crummy.com/software/BeautifulSoup/bs4/doc/) - глючная тормозная библиотека для парсинга XML/HTML, не поддерживающая xpath запросы, плюсом является то, что она написана на чистом питоне.
|
||||
* [WHATWG](http://html5lib.readthedocs.org/en/latest/]html5lib[/url] - парсинг и сериализация HTML по спецификации [url=http://www.whatwg.org/) (на неё ориентируются современные веб-браузеры). Возможно выбрать для построения DOM-дерева, как встроенные средства питона, так и библиотеки lxml или BeautifulSoup.
|
||||
* [feedparser](http://pythonhosted.org/feedparser/) - парсинг RSS и ATOM фидов.
|
||||
* [Bleach](http://bleach.readthedocs.org/en/latest/) - библиотека для очистки HTML (требует html5lib)
|
||||
|
||||
## Эмуляторы браузеров
|
||||
* [selenium](http://selenium.googlecode.com/git/docs/api/py/api.html) - средство для тестирования веб-интерфейсов с помощью реальных браузеров: google chrome, opera, firefox, IE. Можно и сайты через него парсить. Есть некоторые неудобства, связанные с идеологией инструмента - он позволяет эмулировать внешние действия пользователя. Например, задать свой собственный Referer - это уже проблема. Не требует дополнительных зависимостей.
|
||||
* [Ghost.py](http://carrerasrodrigo.github.io/Ghost.py/) - обёртка над QtWebKit (требует PyQt или PySide)
|
||||
* [Spynner](https://github.com/makinacorpus/spynner) - ещё одна обёртка над QtWebKit, более ничего не знаю про эту либу :)
|
||||
|
||||
## Параллельная многозадачность
|
||||
* [threading](http://docs.python.org/2.7/library/threading.html) - встроенный в python модуль для реализации многозадачности с помощью тредов (объекты языка, выполняющиеся в одном процессе). Минусы подхода в том, что вы не можете загрузить вычислениями более одного ядра.
|
||||
* [multiprocessing](http://docs.python.org/2.7/library/multiprocessing.html) - встроенный в python модуль для реализации многозадачности с помощью процессов
|
||||
* [celery](http://celery.readthedocs.org/en/latest/index.html) - навороченная реализация очереди задач, поддерживающая различные бэкенды для хранения этой самой очереди задач.
|
||||
* [RQ](http://python-rq.org/docs/) - легковесная очередь задач, использующая redis
|
||||
|
||||
## Облачные вычислениях
|
||||
* [picloud](http://docs.picloud.com/) - выполнение python-кода в облаке
|
||||
* [dominoup.com](http://www.dominoup.com/) - выполнение R, Python и matlab кода в облаке
|
Loading…
Reference in New Issue
Block a user