【问题标题】:Want to extract links and titles from a certain website with lxml and python but cant想用 lxml 和 python 从某个网站提取链接和标题,但不能
【发布时间】:2021-04-09 12:22:41
【问题描述】:

我是 Yasa James,14 岁,是网络抓取的新手。 我正在尝试从此website 中提取标题和链接。 作为一个所谓的“Utako”和一个想成为程序员的人,我想创建一个同时提取链接和标题的程序。我目前正在使用 lxml,因为我无法下载 selenium,互联网有限,互联网非常慢,因为我来自菲律宾的一个省份,我认为它比我使用过的其他模块更快。

这是我的代码:

from lxml import html
import requests

url = 'https://animixplay.to/dr.%20stone'
page = requests.get(url)
doc = html.fromstring(page.content)

anime = doc.xpath('//*[@id="result1"]/ul/li[1]/p[1]/a/text()')

print(anime)

我注意到的一件事是,我想从任何 div 中获取元素的值,它是否会给出一个空列表作为输出。

希望各位前辈能帮帮我。谢谢!

更新: 我用requests-html 解决了我的问题,现在它可以工作了,谢谢!

【问题讨论】:

  • 欢迎来到 SO。你到底想从这个程序中输出什么?
  • 动漫标题和li标签内的href

标签: python xpath lxml screen-scraping


【解决方案1】:

这不起作用的原因是您尝试获取的站点使用 JavaScript 来生成结果,这意味着如果您想抓取 HTML,Selenium 是您唯一的选择。像 lxml 和 beautifulsoup 这样的静态获取和处理库根本无法解析 JavaScript 调用的结果。

【讨论】:

  • 哦,我明白了。谢谢我的前辈。我一直在努力寻找解决方案大约一个星期。顺便说一句,我可以使用任何库来解析 java 中的结果吗?我的订阅中只剩下 200mb。 (对不起,如果我听起来像我没有礼貌,我只是不习惯在现实生活中与人交谈)
  • 不,不幸的是,您需要像 Selenium 这样的浏览器代理(它有一个 java 版本)。
  • 哦,再次感谢我的学长。今天学到了很多,谢谢。
  • 硒可能不是唯一的选择。有几个 API 调用返回页面用来更新的 json 中的 html。您可能无需浏览器即可解析这些数据并获得相同的数据。还有一个结束 API 调用返回一般相关搜索结果的列表。
  • 我可以得到更多关于我的高级的信息吗?
猜你喜欢
  • 2016-04-18
  • 2011-01-06
  • 2021-12-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-05
  • 2015-12-22
  • 1970-01-01
相关资源
最近更新 更多