【发布时间】:2020-11-21 09:33:22
【问题描述】:
最近,我编写了一个 selenium 网络爬虫,旨在提取包含在美国举行的所有总统选举数据的表格中的所有信息。该表位于this wikipedia 网站上。
问题是当我将结果写入 .txt 文件时,代码会返回我需要的所有信息。但是每当我尝试在我的文本编辑器中打印相同的结果时,它只会返回我需要的数据的一半。我不明白问题是什么。有人可以帮帮我吗?
这是我的代码。
from selenium import webdriver
from bs4 import BeautifulSoup
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
import time
import pandas
# using selenium and shromedriver to extract the javascript wikipage
scrape_options = Options()
scrape_options.add_argument('--headless')
driver = webdriver.Chrome(r'web scraping master/chromedriver', options=scrape_options)
page_info = driver.get('https://en.wikipedia.org/wiki/United_States_presidential_election')
# waiting for the javascript to load
try:
WebDriverWait(driver,10).until(EC.presence_of_element_located((By.CLASS_NAME,"wikitable")))
finally:
page = driver.page_source
soup = BeautifulSoup(page, 'html.parser')
table = soup.find('table', {'class': 'wikitable sortable jquery-tablesorter'})
print(table)
with open("loge.txt","w") as f: #Only part I added to the code
f.write(str(table))
【问题讨论】:
-
代码在命令提示符下也能正常工作。我的文本编辑器有问题吗?
标签: python-3.x selenium-webdriver web-scraping selenium-chromedriver