Python,在这个websi上抓取标题时无法使用Chrome的Xpath获得结果

2024-06-28 11:42:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我学到了一些简单的技巧来废弃网站,并想把它们应用到一个非常小的项目中。在这里,我想从这个website中获得所有列出的结果的每个标题。我相信我给出了正确的xpath,我能够获得其他文本信息(如搜索前文本框)。但每次我尝试在body容器中废弃信息时,都会得到“[]”空白结果(我也尝试了多种xpath,因此我认为问题不太可能由此引起)。你知道吗

result = requests.get("https://www.hotel.info/Search?lng=EN&LACCode=L172544%7CTHA&hs_f_locationnr=172544&hs_destination=Bangkok+Metropolitan+Region%2C+Thailand&HotelMasterID=&ChainID=&hs_arrival=&hs_departure=&h_persons_total=1&hs_rooms=1&hs_roomType=2&cpn=5&location=Bangkok+Metropolitan+Region%2C+Thailand", allow_redirects=False)
selector = etree.HTML(result.text)
result.status_code
  200
title1 = selector.xpath('.//*[@id="L132761"]/@title')
print(title1)
  []
title2 = selector.xpath('.//*[@id="L132761"]/@title/text()')
print(title2)
  []
title3 = selector.xpath('.//*[@id="L132761"]/@href')
print(title3)
  []

Chrome上DevTool的截图是here。所以我想买的第一件是“曼谷铂尔曼酒店G”。你知道吗

我猜是因为这部分不是纯文本?我不能在网站上用鼠标选择这些词。但我不知道如何废弃这种信息。当我点击标题并转到它的网站后,我就可以删除这个子链接中的文本。你知道吗

新编辑:The“结果.text[:1000]“返回结果,开头为: '\r\n<!DOCTYPE html>\r\n<!--[if IE 8 ]><html class="ie ie8" lang="EN"><![endif]-->\r\n<!--[if IE 9 ]><html class="ie9" lang="EN"><![endif]-->\r\n<!--[if (gt IE 9)|!(IE)]><!-->\r\n<!--<![endif]-->\r\n<head>\r\n\t<meta name="viewport" content="width=device-width, initial-scale=1.0">\r\n\t<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />\r\n\t<title>HOTEL INFO | Hotels Bangkok Metropolitan Region, Thailand</title>\r\n\t<meta charset="utf-8" /><script type="text/javascript">window.NREUM||(NREUM={});那么这部分是由javascript生成的吗?你知道吗

我希望我已经把这个问题解释清楚了。请告诉我如何解决这个问题或给我任何你能想到的建议。你知道吗

谢谢你!你知道吗


Tags: text文本信息idtitle网站resultselector
1条回答
网友
1楼 · 发布于 2024-06-28 11:42:13

requests.get获取纯html。你知道吗

我相信您试图访问的内容是由javascript生成的,请求不会执行。你知道吗

您可以通过打印result.text并查看requests.get返回的内容来验证它。你知道吗

如果是这样的话,你可以尝试使用硒之类的东西。你知道吗

相关问题 更多 >