之前爬取的时候只有一个表格,是可以将数据抓到的,后面不知道什么原因,突然就显示抓到的表格为空。打开端口,network里面发现,现在多了一个空表,有什么办法能绕过空表格抓取第二个有数据的表格呢
用的哪个库?BeautifulSoup还是lxml?下面为2个库的简单示例,定位到需要的table后再操作就行了
html='''<table></table>
<table>
<tr><td>1-1</td><td>1-2</td></tr>
<tr><td>2-1</td><td>2-2</td></tr>
</table>
'''
##BeautifulSoup
from bs4 import BeautifulSoup
soup=BeautifulSoup(html,'html.parser')
table=soup.find_all('table')[1]#获取第二个有数据的表格
trs=table.find_all('tr')
for tr in trs:
tds=tr.find_all('td')
for td in tds:
print(td.text,end=',')
print()
###by lxml
from lxml import etree
tree=etree.HTML(html)
trs=tree.xpath('//table[2]/tr')
for tr in trs:
tds=tr.xpath('.//td/text()')
print(tds)
试一试lxml解析网址
from lxml import html
import requests
page = requests.get('<address>')
tree = html.fromstring(page.content)
table = tree.xpath('//table[@class="your-table-class"]')[0]