0
I m Zugriff auf eine page, die Parallax Scrolling implementiert hat. Ich verwende den Code, um nach unten zu blättern, aber BeautifulSoup
es wird nicht aktualisierten DOM abgerufen. Code ist unten angegeben:Python Selenium: Wie aktualisiert man HTML DOM nach dem Scrollen?
import requests
from bs4 import BeautifulSoup
from gensim.summarization import summarize
from selenium import webdriver
from datetime import datetime
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.keys import Keys
from time import sleep
import sys
import os
import xmltodict
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
import traceback
import random
driver = None
driver = webdriver.Firefox()
driver.maximize_window()
def fetch_links(tag):
links = []
url = 'https://steemit.com/trending/'+tag
driver.get(url)
html = driver.page_source
sleep(4)
soup = BeautifulSoup(html,'lxml')
entries = soup.select('.entry-title > a')
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
sleep(5)
entries = soup.select('.entry-title > a')
for e in entries:
if e['href'].strip() not in entries:
links.append(e['href'])
return links
Dies ist, was ich auch versucht, aber keine Änderung – Volatil3
Es scheint, dass das Problem mit ' BeautifulSoup'. Alle Titel sind in dem von 'driver.page_source' zurückgegebenen HTML enthalten. –
Standardmäßig wählt es 20 Datensätze pro Seite, auf Bildlauf sollte es nächste 20 wählen – Volatil3