【问题标题】:Python get html element by XpathPython通过Xpath获取html元素
【发布时间】:2020-07-19 03:17:04
【问题描述】:

我尝试通过 XPath 获取 HTML 元素,我尝试过这种方式,但它总是返回一个空字符串。 谁能告诉我,我如何通过 X-Path 获取元素?

    for x in list_href_einrichtungen:

      url = 'https://pflegefinder.bkk-dachverband.de/' + x
      source_code = requests.get(url)
      plain_text = source_code.text
      soup = BeautifulSoup(plain_text)

      **doc = lxml.html.fromstring(source_code.content)
      strasse = doc.xpath('div[3]/div[3]/table[1]/tbody/tr/td/div/div/div[1]/p[1]/text()[1]')**

      name = soup.find('h2').text
      uebergabeeinrichtung = Einrichtung("IK", name, 'Teststraße', '12345', 'Ort', "telefon", 
      'Telefax', 'email','internet')

      list_einrichtungen.append(uebergabeeinrichtung)
      print(name,  strasse)

【问题讨论】:

标签: python html beautifulsoup lxml


【解决方案1】:

Sie können kein Element mit Beautifulsoup mit XPATH finden。 Eine andere 图书馆,die Sie benutzten können heisst 'lxml'。 Das steht hier 在 StackOverflow 中。阿尔斯·贝斯皮尔:

from urllib.request import urlopen
from lxml import etree

url =  "http://www.example.com/servlet/av/ResultTemplate=AVResult.html"
response = urlopen(url)
htmlparser = etree.HTMLParser()
tree = etree.parse(response, htmlparser)
tree.xpath(xpathselector)

Ich hoffe,dass das geholfen hat!

pd:对不起,deutsch,ich lerne gerade ;)

【讨论】:

  • 你好,danke für deine Antwort, ich habe es auch schon mit lxml versucht und leider klappt es damit auch nicht。代码: response = urlopen(url) htmlparser = etree.HTMLParser() tree = etree.parse(response, htmlparser) strasse =tree.xpath('//*[@id="page"]/div[3]/div [3]/table[1]/tbody/tr/td/div/div/div[1]/p[3]/text()[1]')
  • 有没有发现 ID-finden versucht?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-14
  • 2021-02-13
  • 1970-01-01
  • 1970-01-01
  • 2021-07-22
  • 2015-04-02
相关资源
最近更新 更多