【发布时间】:2021-02-01 02:44:03
【问题描述】:
我是 python 新手,我正在尝试在网站上进行一些网络抓取,以提取幸运抽奖中所选数字的历史记录。
网址是:https://www.bet.co.za/bet-games/
这个游戏叫《幸运7》。
我想提取所绘制数字的历史记录,看看我是否可以进行概率分析。 由于每 4 分钟进行一次平局,因此结果历史应该可以追溯到 1 周。 如果我也能从数字中提取颜色,那也很棒,但主要目的是获取数字的历史记录。
我希望结果显示在 excel/csv 电子表格中,日期和时间在 a 列中,数字从 B 列开始。
每次我打开 Excel 时,它都会自动更新以显示最新的抽奖结果。
请在下面查看我的代码 - 非常感谢任何帮助。
我正在使用可视化代码进行编码。
from bs4 import BeautifulSoup
import requests
class Scraper:
def __init__(self):
self.content = None
self.soup = None
self.samples = None
self.lastSample = None
self.numbers = None
def download(self):
result = requests.get("https://www.bet.co.za/bet-games/")
if result.status_code == 200:
self.content = result.content
else:
raise Exception("Download: Could not fetch data.")
def findSoupSamples(self):
self.soup = BeautifulSoup(self.content, "html.parser")
self.samples = self.soup.find('div', {'class': 'game-result'})
def getLastSample(self):
allSamples = self.samples.findAll('div', {'class': 'flex'})
lastSample = None
for lotterySample in allSamples:
lotterySample = lotterySample.find('div', {'class': 'game-result'})
if lotterySample is None:
break
lastSample = lotterySample
self.lastSample = lastSample.parent
def extractDataFromSample(self):
resultList = []
dayTimeString = self.lastSample.find('last-results-item-time').text
numbers = self.lastSample.findAll('div', {'class': 'game-result'})
for number in numbers:
resultList.append(number.text.strip().encode('ascii', 'ignore'))
self.numbers = (dayTimeString, resultList)
【问题讨论】:
标签: python web-scraping