【发布时间】:2021-03-26 23:24:04
【问题描述】:
我正在尝试抓取网站以获取信息并将其输出到 CSV 文件。对于我尝试提取的数据,终端有一个输出,但我需要将其保存在 CSV 文件中。
我尝试了几种不同的方法,但找不到解决方案。 CSV 文件已创建,但它只是空的。可能有一些非常简单的事情。
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import csv
import time
from bs4 import BeautifulSoup
DRIVER_PATH = '/Users/jasonbeedle/Desktop/snaviescraper/chromedriver'
options = Options()
options.page_load_strategy = 'normal'
# Navigate to url
driver = webdriver.Chrome(options=options, executable_path=DRIVER_PATH)
driver.get("http://best4sport.tv/2hd/2020-12-10/")
options.add_argument("--window-size=1920x1080")
results = driver.find_element_by_class_name('program1_content_container')
soup = BeautifulSoup(results.text, 'html.parser')
# results = driver.find_element_by_class_name('program1_content_container')
p_data1 = soup.find_all("div", {"class_name": "program1_content_container"})
p_data2 = soup.find_all("div", {"class_name": "program_time"})
p_data3 = soup.find_all("div", {"class_name": "sport"})
p_data4 = soup.find_all("div", {"class": "program_text"})
print("Here is your data, I am off ot sleep now see ya ")
print(results.text)
# Create csv
programme_list = []
# Programme List
for item in p_data1:
try:
name = item.contents[1].find_all(
"div", {"class": "program1_content_container"})[0].text
except:
name = ''
p_data1 = [time]
programme_list.append(p_data1)
# Programme Time
for item in p_data2:
try:
time = item.contents[1].find_all(
"div", {"class": "program_time"})[0].text
except:
time = ''
p_data2 = [time]
programme_list.append(p_data2)
# Which sport
for item in p_data3:
try:
time = item.contents[1].find_all(
"div", {"class": "sport"})[0].text
except:
time = ''
p_data3 = [time]
programme_list.append(p_data3)
with open('sport.csv', 'w') as file:
writer = csv.writer(file)
for row in programme_list:
writer.writerow(row)
我刚刚尝试添加一个名为data_output 的对象,然后我尝试打印data_output
data_output = [p_data1, p_data2, p_data3, p_data4]
...
print(data_output)
终端中的输出是
【问题讨论】:
-
programme_list变量被值填充后的样子? -
19:55 MOTORU SPORTS Motoru sporta "5 minūte" Iknedēļas Alda Putniņa veidots apskats par motoru sportu 20:00 BASKETBOLS CSKA pret Zielona Gora VTB Vienotās līgas 2020./2021. gada regulārās sezonas spēle (08.12.2020.) 22:00 BASKETBOLS -
如果是公开的,你能分享你的网址吗?您可以使用
pandas将数据加载到dataframe,然后导出到csv 文件。 -
best4sport.tv/2hd/2020-12-10没用过熊猫会研究一下
标签: python selenium csv beautifulsoup webdriverwait