我是一名新的蟒蛇学习者;差不多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块如下所示: https://i.stack.imgur.com/dAjB6.png
我的问题是,这里的错误是xpath地址还是网站上有一层html?
(请原谅我使用某些描述的无知,例如:xpath的图层或地址)
我的系统信息:
答案 0 :(得分:1)
使用列表索引访问所需元素,使用.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
答案 1 :(得分:0)
试试这段代码,它应该可以正常工作
from lxml import html
import requests
page = requests.get('http://www.germaneveryday.com/')
tree = html.fromstring(page.content)
word = tree.xpath('//*[@id="main"]/div[1]/div[2]/div/h1/a/text()')
print (word)
答案 2 :(得分:0)
问题如上所述:Rakesh,Davide Fiocco和Devratna
“使用列表索引访问所需元素,使用.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)
现在正在运作!