想获取td内的所有文本,之前一直使用lxml库进行解析,但是该方法只能获取单个元素的文本,无法获取元素内的所有文本,使用xpath方法获取所有文本时,由于这里有个style,会获取很多无用的东西,特别麻烦,今天学了一下BeautifulSoup,没想到功能强大多了,直接.text就能获取所有元素内文本,一行就能解决,实在太方便了。
soup = BeautifulSoup(response.text,'lxml')
tbody=soup.select('table[class="table"]>tbody')[0]#定位到tbody
trs=tbody.select('tr')#定位到tr
for tr in trs:
th=tr.select('th')[0]
left=th.text
print(left)
td=tr.select('td')[0]
item = td.text.strip().replace('\n', '')
if len(item) != 0:
print(item)