Я не могу очистить все данные - PullRequest
0 голосов
/ 11 июля 2020

Я не могу получить всю информацию об URL с указанного сайта. Дополнительные данные можно получить из изображений, я написал здесь код, предполагая, что динамическое c javascript веб-парсинг. Например, я хочу ссылку или имя Quercetins, но у меня нет доступа.

import bs4 as bs
import sys
import urllib.request
from PyQt5.QtWebEngineWidgets import QWebEnginePage
from PyQt5.QtWidgets import QApplication
from PyQt5.QtCore import QUrl

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://foodb.ca/foods/FOOD00001"
page = Page(url)
soup = bs.BeautifulSoup(page.html, 'html.parser')

for a in soup.find_all('a', href=True):
    print ("Found the URL:", a['href'])

Требуется Найденные ссылки

1 Ответ

0 голосов
/ 13 июля 2020

Я использовал Selenium, и он решил, проблема заключалась в том, что некоторые части сайта загружались после этого, поэтому вам нужно спать, а затем очистить данные.

...