ruia_pyppeteer - A Ruia plugin for loading javascript - pyppeteer.
Project description
ruia-pyppeteer
A Ruia plugin for loading javascript
Notice: Works on ruia >= 0.6.1
Installation
pip install ruia_pyppeteer
# New features
pip install git+https://github.com/ruia-plugins/ruia-pyppeteer
Usage
ruia_pyppeteer
will load js by using pyppeteer.
You need to pay attention when you use load_js, it will download a recent version of Chromium (~100MB). This only happens once.
Load JavaScript
import asyncio
from ruia_pyppeteer import PyppeteerRequest as Request
request = Request("https://www.jianshu.com/", load_js=True)
response = asyncio.get_event_loop().run_until_complete(request.fetch())
print(response)
Complete example
from ruia import AttrField, TextField, Item
from ruia_pyppeteer import PyppeteerSpider as Spider
class JianshuItem(Item):
target_item = TextField(css_select='ul.list>li')
author_name = TextField(css_select='a.name')
author_url = AttrField(attr='href', css_select='a.name')
async def clean_author_url(self, author_url):
return f"https://www.jianshu.com{author_url}"
class JianshuSpider(Spider):
start_urls = ['https://www.jianshu.com/']
concurrency = 10
async def parse(self, response):
async for item in JianshuItem.get_items(html=response.html):
# Loading js by using PyppeteerRequest
print(item)
if __name__ == '__main__':
JianshuSpider.start()
Enjoy it :)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
ruia_pyppeteer-0.0.6.tar.gz
(3.8 kB
view hashes)
Built Distribution
Close
Hashes for ruia_pyppeteer-0.0.6-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2636aa8f8198c1220823b77f86b6b57f66890c830d111a19b79eb8da5f7599c5 |
|
MD5 | cac24e7ba4152d7517c185934f08bd89 |
|
BLAKE2b-256 | b5cf1b48fa9a7a3b9a51b99f9d094523af9a070d38f1578137e644930940b919 |