Разбор JS динамической страницы с PyQt5 - PullRequest
0 голосов
/ 08 марта 2020

Я пытаюсь проанализировать страницу js dynamici c с PyQt5. После выполнения я получаю следующую ошибку: Процесс завершен с кодом выхода -1073741819 (0xC0000005). Код здесь:

import sys
import requests
from bs4 import BeautifulSoup
from PyQt5.QtWebEngineWidgets import QWebEnginePage
from PyQt5.QtWidgets import QApplication
from PyQt5.QtCore import QUrl
import pandas as pd

class Page(QWebEnginePage):
    def __init__(self, url):
        self.app = QApplication(sys.argv)
        QWebEnginePage.__init__(self)
        self.html = ''
        self.loadFinished.connect(self._on_load_finished)
        self.load(QUrl(url))
        self.app.exec_()

    def _on_load_finished(self):
        self.html = self.toHtml(self.Callable)
        print('Load finished')

    def Callable(self, html_str):
        self.html = html_str
        self.app.quit()


url = 'https://www.racingpost.com'

page = Page(url)
soup = BeautifulSoup(page.html, 'html.parser')
courses = soup.find_all('a', {'class': 'hidden-sm-down rh-cardsMatrix__courseTitle ui-link'})
for course in courses:
    CurrentCourse = course.text.strip()
    Courses_URL = url + course.get('href')
    response1 = requests.get(Courses_URL)
    soup1 = BeautifulSoup(response1.text, 'html.parser')
    horses = soup1.find_all('a', {'class': 'RC-runnerName'})
    for horse in horses:
        horses_url = url + horse.get('href')
        page1 = Page(horses_url)
        soup2 = BeautifulSoup(page1.html, 'html.parser')
        data = soup2.find_all('a', {'class': 'ui-link ui-link_table js-popupLink'})

Не могли бы вы помочь мне с переделкой или настроить этот код для получения нужной информации, которую я хочу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...