fst_part = get_service_name(vm['name'])
vm_res = {'1st_part_name:' : fst_part,'os:' : vm['distribution']['description'],'memory:' : vm['memory'],'cpu:' : vm['cpu'],'cpuNumber:' : vm['cpuNumber'],'disk:' : vm['disk']}
for num in nodes:
if fst_part in vm_res:
re.match(r'aff', list(d1.keys())[0]) #True в случае совпадение
url1='https://bscscan.com/tx/0x25ad28fc0b91fd6144051333bfdb128a15b06cf64a9b612b665f95ba97964314'
headers = {
"accept": "*/*",
"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.134 YaBrowser/22.7.0.1842 Yowser/2.5 Safari/537.36"
}
r1=requests.get(url1, headers=headers)
s1=BeautifulSoup(r1.content, "html_parser")
result=s1.find('div', id='ContentPlaceHolder1_divTimeStamp')
result1
Out[82]:
<div id="ContentPlaceHolder1_divTimeStamp">
<hr class="hr-space"/>
<div class="row align-items-center">
<div class="col-md-3 font-weight-bold font-weight-sm-normal mb-1 mb-md-0"><i class="fal fa-question-circle text-secondary d-none d-sm-inline-block mr-1" data-container="body" data-content="The date and time at which a transaction is validated." data-original-title="" data-placement="top" data-toggle="popover" title=""></i>Timestamp:</div>
<div class="col-md-9">
<span id="clock"></span><i class="far fa-clock small mr-1"></i>5 mins ago (Aug-27-2022 02:40:30 PM +UTC)
</div>
</div>
</div>
result1.text
Out[83]: '\n\n\nTimestamp:\n\n5 mins ago (Aug-27-2022 02:40:30 PM +UTC)\n\n\n'
x = [2**0, 2**1, 2**2, 2**3, 2**4, 2**5, 2**6, 2**7, 2**8, 2**9, 2**10]
for i in range (0,len(x)):
if y<=x[i]:
print (x[i-1],y)
break
data_list=[] #тут объявлется список, куда потом будет что-то добавляться. Сейчас он пустой
for e in data_list: #тут начинается перебор списка, переменная-итератор,
#то есть то, что будет двигаться по элементам итерируемого (перебираемого) объекта
#(в данном случае списка) названа "e"
if type(e) is data_list: #бессмысленно
data_list +=e # добавление к перебираемому списку переменной-итератора приведет
# к тому, что на каждом шаге список будет увеличиваться и проход никогда не закончится,
#или случится что-нибудь еще непредсказуемое
else:
data_list.append(e) #тоже само - к перебираемому списку добавляется переменная-итератор
data_list += columns[1].text # здесь вероятно, написано то, что нужно -
#к списку добавляется текст из ячейки таблицы. Именно это и должно быть в цикле
import requests
from bs4 import BeautifulSoup
from lxml import html
import csv
headers = {'Accept': 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.102 Safari/537.36 Edg/104.0.1293.63'}
url = 'https://old.baltbet.ru/BetInfoSE.aspx?id=688978285'
response = requests.get(url, headers=headers)
file = open('data.csv','w')
writer = csv.writer(file)
soup = BeautifulSoup(response.text, 'html.parser')
rows = soup.find('table',class_ ='betinfo2').find_all('tr')
data_list=[] #создаётся список для записи результата
for row in rows: #начинается перебор строк в rows, хотя на самом деле не строк ,
#а пар тегов первого уровня, #в данном случае это теги <tr> </tr>.
#Переменная-итератор названа row, но можно было бы назвать её и по другому, это неважно
columns = row.find_all('td') #в каждой row ищутся теги <td> , результат сохраняется в columns
try: #неизвестно, есть ли в очередном row такой тег или нет, поэтому конструкция try - except
data_list += columns[1].text #если есть, к data_list добавляется результат -
#текст внутри текущей пары тегов td
except Exception as e: #обработка ошибки
print ('ERR: ',e,row)
print (' '.join(data_list)) #превращение списка data_list в строку, где элементы разделены пробелами
data_list=[]
for e in data_list:
if type(e) is data_list:
r=[1,2,3]
r.append([4,5])
r
Out[16]: [1, 2, 3, [4, 5]]
for row in rows:
columns = row.find_all('td')
try:
data_list = [columns[1].text]
print(data_list, 'row: ', row, 'col:',columns)
except Exception as e:
print (e,row)
list index out of range <tr>
<th><strong>№</strong></th>
<th><strong>Исход</strong></th>
<th><strong>Результат</strong></th>
</tr>
['2'] row: <tr><td>16161325</td><td>2</td><td>Не завершено</td></tr> col: [<td>16161325</td>, <td>2</td>, <td>Не завершено</td>]
['X'] row: <tr><td>16161327</td><td>X</td><td>Не завершено</td></tr> col: [<td>16161327</td>, <td>X</td>, <td>Не завершено</td>]
['1'] row: <tr><td>16161329</td><td>1</td><td>Не завершено</td></tr> col: [<td>16161329</td>, <td>1</td>, <td>Не завершено</td>]
['X'] row: <tr><td>16163706</td><td>X</td><td>Не завершено</td></tr> col: [<td>16163706</td>, <td>X</td>, <td>Не завершено</td>]
['X'] row: <tr><td>16163953</td><td>X</td><td>Не завершено</td></tr> col: [<td>16163953</td>, <td>X</td>, <td>Не завершено</td>]
['1'] row: <tr><td>16164574</td><td>1</td><td>Не завершено</td></tr> col: [<td>16164574</td>, <td>1</td>, <td>Не завершено</td>]
['X'] row: <tr><td>16164578</td><td>X</td><td>Не завершено</td></tr> col: [<td>16164578</td>, <td>X</td>, <td>Не завершено</td>]
['X'] row: <tr><td>16164580</td><td>X</td><td>Не завершено</td></tr> col: [<td>16164580</td>, <td>X</td>, <td>Не завершено</td>]
['2'] row: <tr><td>16164583</td><td>2</td><td>Не завершено</td></tr> col: [<td>16164583</td>, <td>2</td>, <td>Не завершено</td>]
['X'] row: <tr><td>16164589</td><td>X</td><td>Не завершено</td></tr> col: [<td>16164589</td>, <td>X</td>, <td>Не завершено</td>]
for coloum in columns:
data_list = [columns[1].text] #зачем переборка, если в цикле обращение не к итератору coloum, а к перебираемым columns ?
print(data_list)
for row in rows:
columns = row.find_all('td')
try:
data_list = [columns[1].text]
except Exception as e:
print (e)
print(data_list)