gpt4 book ai didi

python - 使用 Python + lxml (xpath) 从网站抓取/提取文本并打印

转载 作者:行者123 更新时间:2023-12-01 09:23:03 26 4
gpt4 key购买 nike

我是一个新的Python学习者;快 3 周大了。

我正在尝试使用 python 自动化一些日常任务。在这里,我试图抓取一个名为“https://www.germaneveryday.com/”的网站,它每天都会生成一个新的德语单词以及一个句子示例。所以我的计划是自动化此操作,而不是每天访问该网站。

我从这里开始学习在线教程:http://docs.python-guide.org/en/latest/scenarios/scrape/

这是代码:

from lxml import html
import requests

page = requests.get('https://www.germaneveryday.com/')
tree = html.fromstring(page.content)

Word = tree.xpath('//*[@id="main"]/div[1]/div[2]/div/h1/a')


print (Word)

我确实检查了网站上的日常单词,并使用右键单击,复制 xpath 来提取特定 html 数据的“tree.xpath”地址,我愿意使用 lxml + python 在我的简单代码中取出并打印.

除了每次输出都是空括号,例如:[] 或者它是一些没有意义的 html block ,如下所示: /image/dAjB6.png

我的问题是,这里出了什么问题是 xpath 地址还是网站在 html 上有某种层?

(请原谅我对一些描述的无知,例如:xpath的层或地址)

我的系统信息:

  • Windows 7 (x86)
  • Python 版本为 (v3.6.5)
  • 网络浏览器是 Chrome 66.0.3359.181

最佳答案

使用列表索引访问所需元素,并使用 .text 打印其文本。

例如:

from lxml import html
import requests

page = requests.get('https://www.germaneveryday.com/')
tree = html.fromstring(page.content)
Word = tree.xpath('//*[@id="main"]/div[1]/div[2]/div/h1/a')[0].text
print (Word)

输出:

heimlich

关于python - 使用 Python + lxml (xpath) 从网站抓取/提取文本并打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50657708/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com