Не могу вытянуть данные из тега tr

atata199

Новичок
Пользователь
Дек 3, 2022
12
0
1
Новичок в питоне, возникла проблема, есть код

def get_html(url):
r = requests.get(url)
return r.text

def get_content(html):
soup = bs4.BeautifulSoup(html, 'lxml')
line = soup.find('div', class_='ct-table-view').find('table', class_='table').find('tbody').find('tr')
for tr in line:
td = td.find_all('td')
numb_doc = td[1].text
status = td[2].text
serialnumd = td[3].text
date_doc = td[4].text
name_prod = td[5].text
firmmade_name = td[6].text
firmget_name = td[7].text

data = (numb_doc, status, serialnumd, date_doc, name_prod, firmmade_name, firmget_name)

print(data)

На выходе ничего не происходит, а нужно из tr вытянуть данные
 

Вложения

  • kod.jpg
    kod.jpg
    219,6 КБ · Просмотры: 4

4olshoy_blen

Популярный
Пользователь
Ноя 13, 2022
419
113
43
Python:
def get_html(url):
    r = requests.get(url)
    return r.text

def get_content(html):
    soup = bs4.BeautifulSoup(html, 'lxml')
    line = soup.find('div', class_='ct-table-view').find('table', class_='table').find('tbody').find_all('td')
    numb_doc = line[0].text
    status = line[1].text
    serialnumd = line[2].text
    date_doc = line[3].text
    name_prod = line[4].text
    firmmade_name = line[5].text
    firmget_name = line[6].text

    data = (numb_doc, status, serialnumd, date_doc, name_prod, firmmade_name, firmget_name)

    print(data)
 

atata199

Новичок
Пользователь
Дек 3, 2022
12
0
1
Python:
def get_html(url):
    r = requests.get(url)
    return r.text

def get_content(html):
    soup = bs4.BeautifulSoup(html, 'lxml')
    line = soup.find('div', class_='ct-table-view').find('table', class_='table').find('tbody').find_all('td')
    numb_doc = line[0].text
    status = line[1].text
    serialnumd = line[2].text
    date_doc = line[3].text
    name_prod = line[4].text
    firmmade_name = line[5].text
    firmget_name = line[6].text

    data = (numb_doc, status, serialnumd, date_doc, name_prod, firmmade_name, firmget_name)

    print(data)
все равно не работает
 

4olshoy_blen

Популярный
Пользователь
Ноя 13, 2022
419
113
43
все равно не работает
скинь ссылку на сайт
 

atata199

Новичок
Пользователь
Дек 3, 2022
12
0
1
нашел в чем причина, но теперь другой вопрос, как достать с сайта не только первое значение, но и последующие

browser = webdriver.Chrome()
url = "https://portal.eaeunion.org/sites/o...475-466a-a340-6f69c01b5687&itemid=231#f=g-150"
browser.get(url)
time.sleep(20)
html = browser.page_source
soup = BeautifulSoup(html, 'lxml')

tdata = soup.find('div', class_='cr-view cr-bottom-view').find('table', class_='table').find('tbody').find_all('td')
numb_doc = tdata[0].text
print(numb_doc)

т.е. на выходе получить:

BY.70.07.01.008.Е.009046.08.11 и т.д.
RU.77.99.88.009.Е.010999.07.12 и т.д.
 

atata199

Новичок
Пользователь
Дек 3, 2022
12
0
1
с этим разобрался

browser = webdriver.Chrome()
url = "https://portal.eaeunion.org/sites/o...475-466a-a340-6f69c01b5687&itemid=231#f=g-150"
browser.get(url)
time.sleep(20)
html = browser.page_source
soup = BeautifulSoup(html, 'lxml')

trs = soup.find('div', class_='cr-view cr-bottom-view').find('table', class_='table').find('tbody').find_all('tr')
table = pd.DataFrame()
for tr in trs:

numb_doc = tr.find_all('td', {"name": "tmp_RegisterCertificatesStateRegistration_NUMB_DOC"})
for i in numb_doc:
numb_docs = i.text.replace('\n','')
print(numb_docs)

status = tr.find_all('td', {"name": "Status"})
for i in status:
status = i.text.replace('\n','')
print(status)

date_doc = tr.find_all('td', {"name": "tmp_RegisterCertificatesStateRegistration_DATE_DOC"})
for i in date_doc:
date_doc = i.text.replace('\n','')
print(date_doc)

name_prod = tr.find_all('td', {"name": "tmp_RegisterCertificatesStateRegistration_NAME_PROD"})
for i in name_prod:
name_prod = i.text.replace('\n','')
print(name_prod)

firmmade_name = tr.find_all('td', {"name": "tmp_RegisterCertificatesStateRegistration_FIRMMADE_NAME"})
for i in firmmade_name:
firmmade_name = i.text.replace('\n','')
print(firmmade_name)

firmget_name = tr.find_all('td', {"name": "tmp_RegisterCertificatesStateRegistration_FIRMGET_NAME"})
for i in firmget_name:
firmget_name = i.text.replace('\n','')
print(firmget_name)

как впихнуть в csv в формате :
numb_docsstatusdate_docname_prodfirmmade_namefirmget_name
 

Форум IT Специалистов