【发布时间】:2017-06-14 20:03:45
【问题描述】:
我遇到了与 this 帖子中的人类似的问题。我想创建一个函数,该函数获取 ratemyprofessor.com 教授的 url,并从所有 cmets 获取所有文本。但默认情况下,页面只显示前 20 个 cmets,然后您必须加载更多,以 20 个为一组。好的,所以现在,我需要创建一个函数,以最大次数加载 cmets,然后获取评论数据。不过,在查看了我在第一句话中引用的帖子后,我意识到我实际上可以从某个请求 url 中获取所有评论。
虽然我不太了解提出请求,但我尝试使用引用的帖子来连接这些点。我已经使用 chrome 开发工具来尝试查找涉及 cmets 的调用,但我无法找到将请求发送到的 url,或者真正传递给它以获得我想要的东西(所有 cmets特定教授)。
我不只是寻求答案,而是想通过在尝试查找请求 URL 并从中获取您想要的特定数据时寻求最佳实践来概括这篇文章。
1.我要查找的请求 URL 是什么?
2。如何导航以获取我的评论数据?
3.我自己能做些什么来发现这一点?
我正在使用 python、bs4 和 requests,正如引用的帖子所推荐的那样。
----- 编辑-----
如果我不清楚,我很抱歉,我知道如何用 bs4 解析 HTML。这是我的代码:
with requests.Session() as s:
s.headers.update({"User-Agent": "Mozilla/5.0 (X11; Linux x86_64)"})
soup = BeautifulSoup(s.get("http://www.ratemyprofessors.com/ShowRatings.jsp?tid=433738").content)
yes = soup.find_all('p','commentsParagraph')
变量yes 包含页面上的所有cmets,这很好,但不是我想要的全部。有一个脚本可以构建和格式化所有注释块,并将 cmets 传递到块中。这些 cmets 是从某个地方请求的,我相信(基于引用的帖子)我可以向该地址发送请求,并获取所有 cmets。我要的是地址,以及伴随它获取所有 cmets 的代码(可能的各种查询)。
【问题讨论】:
-
绝对没有办法回答这个问题。获取特定网站数据的 URL 将完全取决于该网站的编写方式。
-
@Padraic_Cunningham 如果你能看看我的帖子,我将不胜感激。
标签: python parsing beautifulsoup