首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从unix - timestamp“>中提取unix时间戳

从unix - timestamp“>中提取unix时间戳
EN

Stack Overflow用户
提问于 2020-08-28 02:02:30
回答 1查看 75关注 0票数 0

我正在尝试从html源代码中获取多个unix时间戳,我可以将其转换为yyyy-mm-dd,然后将其传递到google日历以进行活动。我似乎无法从<tag datetime="">获取unix时间戳。此标记之前的标记为<div class="matchlist__match__column--details">

soup.find_all('time')向我展示了我需要的一切,我可以用soup.find('time', {'datetime': True})['datetime']获得第一个unix时间戳。我也可以使用get_text(),但是字符串是写成d. month - hh:mm的,如果我想在google日历中使用它,这是不好的。

我有一些有希望的线索,但我不断收到错误消息,我的搜索结果并不是很有成效,或者我可能遗漏了一些明显的东西。我从头开始自学了两个月,我还是一个初学者,欢迎对我的方法提出任何意见。

代码语言:javascript
复制
soup.find_all('time', datetime = True)['datetime']
TypeError: list indices must be integers or slices, not str
代码语言:javascript
复制
# The website im collecting data from will announce
# the game dates for next season soon and i
# want to help a friend of mine who manages one
# of the team as a way to teach myself python.

# Note that the webpage here is a placeholder
# and the dates are in the past.

from bs4 import BeautifulSoup
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

DRIVER_PATH = 'C:/folder/chromedriver.exe'
options = Options()
options.headless = True
options.add_argument("--window-size=1920,1200")                                    
driver = webdriver.Chrome(options=options, executable_path=DRIVER_PATH)             
driver.get("https://www.telialigaen.no/rl/resultater?division=6221&season=6091") 

soup = BeautifulSoup(driver.page_source, 'html.parser')

homeTeam = []
for el in soup.find_all('strong', attrs={'class': 'mr-2'}):
    homeTeam.append(el.get_text())

awayTeam = []
for el in soup.find_all('strong', attrs={'class': 'ml-2'}):
    awayTeam.append(el.get_text())

date = []
# i dunno

# The goal is to have all teams and dates in nice
# separate lists. 
# From here I will pick myTeam and create google
# calendar events the day they are playing.
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-28 02:35:25

代码语言:javascript
复制
import requests
import csv

headers = {
    "referrer": "https://www.telialigaen.no/rl/resultater?division=6221&season=6091"
}


def main(url):
    r = requests.get(url, headers=headers).json()
    with open("data.csv", 'w', newline="") as f:
        writer = csv.writer(f)
        writer.writerow(["Home Team", "Date", "Away Team"])
        for data in r:
            writer.writerow([data['homeTeam']['name'],
                             data['startTime'], data['awayTeam']['name']])


main("https://www.telialigaen.no/api/matches?division=6221&game=rl&limit=100&offset=0&order=roundNumber&season=6091&status=finished")

输出:

代码语言:javascript
复制
Home Team,Date,Away Team
PuttaGutta,2019-11-03 19:00:00,Domino Esport
UnTouchables,2019-11-03 19:00:00,Electric Taco
For En Tragedie,2019-10-31 20:00:00,Smerte
UnTouchables,2019-10-24 21:00:00,Domino Esport
Electric Taco,2019-10-24 19:00:00,Smerte
For En Tragedie,2019-10-24 19:00:00,Team SYRE
Smerte,2019-10-17 20:00:00,Domino Esport
PuttaGutta,2019-10-17 20:00:00,Ultra Handicap
Electric Taco,2019-10-15 19:00:00,Team SYRE
UnTouchables,2019-10-17 19:00:00,PuttaGutta
Domino Esport,2019-10-17 19:00:00,Team SYRE
Ultra Handicap,2019-10-17 19:00:00,For En Tragedie
UnTouchables,2019-09-30 19:30:00,Ultra Handicap
Electric Taco,2019-09-27 20:00:00,For En Tragedie
Smerte,2019-09-26 19:00:00,PuttaGutta
Team SYRE,2019-09-20 19:00:00,PuttaGutta
Smerte,2019-09-19 20:00:00,UnTouchables
Domino Esport,2019-09-19 19:00:00,For En Tragedie
Ultra Handicap,2019-09-19 18:00:00,Electric Taco
Smerte,2019-09-15 21:00:00,Ultra Handicap
Team SYRE,2019-09-13 18:30:00,UnTouchables
Domino Esport,2019-09-11 19:00:00,Electric Taco
PuttaGutta,2019-09-09 21:00:00,For En Tragedie
Team SYRE,2019-09-05 19:00:00,Smerte
Ultra Handicap,2019-09-05 19:00:00,Domino Esport
PuttaGutta,2019-08-29 21:00:00,Electric Taco
For En Tragedie,2019-08-29 19:00:00,UnTouchables
Team SYRE,2019-08-29 19:00:00,Ultra Handicap
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63621789

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档