SPAで作成されたWebサイトをスクレイピングする方法
3585 ワード
Pythonでスクレイピングする方法としてこれまでrequestsモジュールを使っていたのですが、これはサーバ側で生成したHTMLを返すサイトでは使用できますが、JavaScriptを実行する前のレスポンスしか得られませんので、クライアント側でJavaScriptを実行してHTMLを手元で生成するようなSPAで作成されたサイトでは使えませんでした。
requests-htmlモジュール
SPAで作成されたサイトをスクレイピングするためにはrequests-htmlを使う必要があります。
インストール
pip install requests-html
使い方
main.py
# -*- coding: utf-8 -*-
import requests
from requests_html import HTMLSession
def main_render_javascript_page():
url = 'https://hogehoge'
session = HTMLSession()
r = session.get(url)
r.html.render()
title = r.html.find('body', first=True).text
print(title)
def main_normal_page():
url = 'https://hogehoge'
r = requests.get(url)
print(r.text)
if __name__ == '__main__':
main_normal_page()
main_render_javascript_page()
公式
参考サイト
https://dev.classmethod.jp/articles/python-asyncio/
https://blog.ikedaosushi.com/entry/2019/09/15/162445
Author And Source
この問題について(SPAで作成されたWebサイトをスクレイピングする方法), 我々は、より多くの情報をここで見つけました https://qiita.com/kinuta_masaya/items/b72d69acfc9295b6cac6著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .