Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何仅提取每个tr中的第一个td[0]_Python_Beautifulsoup - Fatal编程技术网

Python 如何仅提取每个tr中的第一个td[0]

Python 如何仅提取每个tr中的第一个td[0],python,beautifulsoup,Python,Beautifulsoup,我试图确定如何最好地使用BeautifulSoup解析表的内容,目标是只提取每行('tr')中的第一列('td')。实际表中的行数根据搜索结果而变化,但每列中的数据是一致的。我试图使用循环,但没有做正确的事情 在下面的代码摘录中,我只是尝试使用循环打印每行('tr')的第一列('td') doc_req = requests.get(title_url, verify=False) soup = BeautifulSoup(doc_req.content, 'lxml') doc_body =

我试图确定如何最好地使用BeautifulSoup解析表的内容,目标是只提取每行('tr')中的第一列('td')。实际表中的行数根据搜索结果而变化,但每列中的数据是一致的。我试图使用循环,但没有做正确的事情

在下面的代码摘录中,我只是尝试使用循环打印每行('tr')的第一列('td')

doc_req = requests.get(title_url, verify=False)
soup = BeautifulSoup(doc_req.content, 'lxml')
doc_body = soup.find('tbody', {'id': 'docs_body'})
doc_entries = doc_body.find_all('tr')

i = 0
for entries in doc_entries:
    data = entries.find_all('td')
    doc_date = data[0]
    print(doc_date.text)
    i+=1
我的意图是,脚本将返回示例表中2行的第一列(即记录的日期),然后停止

一旦我可以完成打印第一列(记录日期),我将尝试放大打印前3列(记录日期、类型、文档编号)


这是指向完整表的链接。

我看到有嵌套的表。您可以使用CSS选择器
table#docs _table>tbody>tr>td:n子级(1)
html_doc
是您的html代码):

印刷品:

2000-08-23
2000-04-12
2000-08-23 CERTIFICATE OF TITLE 00649594
2000-04-12 RELEASE 00254219

要放大,可以使用
zip()
builtin:

for rec_date, rec_type, doc_num in zip(soup.select('table#docs_table > tbody > tr > td:nth-child(1)'),
                                       soup.select('table#docs_table > tbody > tr > td:nth-child(2)'),
                                       soup.select('table#docs_table > tbody > tr > td:nth-child(3)')):
    print(rec_date.text, rec_type.text, doc_num.text)
印刷品:

2000-08-23
2000-04-12
2000-08-23 CERTIFICATE OF TITLE 00649594
2000-04-12 RELEASE 00254219