Install
pip3 install simple-crawler
Set environment AUTO_CHARSET=1 to pass bytes to beautifulsoup4 and let it detect the charset.
Classes
URL: define a URLURLExt: class to handleURLPage: define a request result of aURLurl: typeURLcontent,text,json: response content properties from libraryrequeststype: the response body type, is a enum which allowsBYTES,TEXT,HTML,JSONis_html: check whether is html accorrding to the response headers'sContent-Typesoup:BeautifulSoupcontains html ifis_html
Crawler: schedule the crawler by callinghandler_page()recusively
Example
from simple_crawler import *
class MyCrawler(Crawler):
name = 'output.txt'
aysnc def custom_handle_page(self, page):
print(page.url)
tags = page.soup.select("#container")
tag = tags and tags[0]
with open(self.name, 'a') as f:
f.write(tag.text)
# do some async call
def filter_url(self, url: URL) -> bool:
return url.url.startswith("https://xxx.com/xxx")
loop = get_event_loop(True)
c = MyCrawler("https://xxx.com/xxx", loop, concurrency=10)
schedule_future_in_loop(c.start(), loop=loop)
TODO
- Speed up using async or threading
Metadata
Release files for simple-crawler 1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| simple_crawler-1.2-py3-none-any.whl | Python 3 | none | any | Details |
Release files / simple_crawler-1.2-py3-none-any.whl
| Download URL | simple_crawler-1.2-py3-none-any.whl |
|---|---|
| Size | 4.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f61142598cf572cdc323aa12c1bc6619ad033f21254e9986e7acefde07c035bc
|
|
BLAKE2b-256 checksum How to use checksums |
fd58c4e510ff908d0bd3ee3f457f53960e8059ed37b425a8458bd11e511366aa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/28.8.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.1
|
Security for simple-crawler 1.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.