Python XPATH从表格表中获取数据

Python XPATH从表格表中获取数据,python,xpath,request,fetch,tabular-form,Python,Xpath,Request,Fetch,Tabular Form,我试图从表格中获取数据。 我想从表中获取所有数据,但由于某些原因,我甚至无法获取要显示的标题。有人能告诉我我做错了什么吗?谢谢 from lxml import html import requests page = requests.get("https://www150.statcan.gc.ca/t1/tbl1/en/tv.action?pid=1710000501") tree = html.fromstring(page.content)

我试图从表格中获取数据。 我想从表中获取所有数据,但由于某些原因,我甚至无法获取要显示的标题。有人能告诉我我做错了什么吗?谢谢

from lxml import html
import requests

    page = requests.get("https://www150.statcan.gc.ca/t1/tbl1/en/tv.action?pid=1710000501")
    tree = html.fromstring(page.content)

    title = tree.xpath('//*[@id="1_1"]/text()')
    print("title", title)

在进行一些测试之后,您需要在请求的头中传递cookie值。否则,您将无法获取该页面。代码:

from lxml import html
import requests

url = 'https://www150.statcan.gc.ca/t1/tbl1/en/tv.action?pid=1710000501'
headers = {'Cookie': 'TS011c6724=01bc1e93397eb3e6d45954baff82f1dc5a53f5c7c9d6e15b0e5924fa1271e6172d10ebdde1926759324799c768ddd4eb7c4fa9c487'}
r = requests.get(url,headers=headers)
tree = html.fromstring(r.content)

print(tree.xpath('//th[@id="1_1"]')[0].text)

for elm in tree.xpath('//tr[./th[contains(.,"years")]]/td[1]'):
    print(elm.text)
产出(加拿大和2015年男女人口估计):


非常感谢。我想我错过了cookie头来让事情顺利进行。
Canada 
1,928,878
1,969,492
1,895,463
2,092,961
2,395,623
...