(
pd.DataFrame({
'A':[1,2,3],
'B':[100,200]
})
)
(
pd.DataFrame({
'A':pd.Series([1,2,3]),
'B':pd.Series([100,200])
})
)
Не достающий элемент он заполнит пропущенным значением. from bs4 import BeautifulSoup
text = '''
<tr align="center"><td><a href="#0">First</a></td></tr>,
<tr align="center"><td><a href="#1">This is second</a></td></tr>,
<tr align="center"><td><a href="#2">third</a></td></tr>
'''
soup = BeautifulSoup(text,'html.parser')
result = [ row.a.text for row in soup.find_all('tr')]
print(result)
result = [ row.text for row in soup.find_all('a')]
как удобнее для настройки дополнительных условий парсинга. from bs4 import BeautifulSoup
import re
text = '''
<input id="ctl00_ContentPlaceHolder1_grdProducts_ctl00_ctl05_EditFormControl_tbValidityPeriod"/> # подходит
<input id="ctl00_ContentPlaceHolder1_grdProducts_ctl00_ctl07_EditFormControl_tbValidityPeriod"/> # подходит
<input id="ctl00_ContentPlaceHolder1_grdProducts_ctl02_ctl11_EditFormControl_tbValidityPeriod"/> # не подходит
<input id="ctl00_ContentPlaceHolder1_grdProducts_ctl00_ctl09_EditFormControl_tbValidityPeriod"/> # подходит
<input id="ctl00_ContentPlaceHolder1_grdProducts_ctl00_ctl11_EditFormControl_tbValidityPeriod"/> # подходит
<input id="ctl00_ContentPlaceHolder1_grdProducts_ctl01_ctl11_EditFormControl_tbValidityPeriod"/> # не подходит
'''
substring = 'ctl00_ContentPlaceHolder1_grdProducts_ctl00_ctl' # подстрока
soup = BeautifulSoup(text, 'html.parser')
result = soup.find_all('input',{'id':re.compile(substring)})
print(result)