可以lxml / requests选择下拉选项,然后解析生成的ajax?

时间:2016-06-28 14:48:36

标签: python web-scraping python-requests lxml

我有一个网站,我正在尝试测试,虽然我可以在下拉列表中获得选项列表,但我不确定如何选择它?没有提交按钮,所以如果我选择它,那么它将加载下面的ajax表。

我只是不确定lxml / requests是否可以执行此操作或如何执行此操作?如果有人能确认或知道可以做到的功能,我将不胜感激?

编辑:我的网站是内部的,无法访问,但这里是一个示例网站:https://www.tsx.com/listings/listing-with-us/listed-company-directory请注意,如果您选择搜索旁边的框,它将拉出ajax结果(A,B,C等等)< / p>

1 个答案:

答案 0 :(得分:4)

设置lxml + requests后,您可以在不同级别(较低级别)上操作。 requests没有下拉列表,它不是浏览器

解决问题的一般方法是:

  • 在您选择的浏览器中打开Browser Developer Tools,网络选项卡
  • 在下拉列表中选择一个选项
  • 观察在“网络”选项卡中发送到服务器的请求
  • 在您的Python代码中模拟此/这些请求

还有一个&#34;技巧&#34;您可以使用它来简化开发人员工具以请求转换:

  • 右键单击“网络”选项卡中的请求列表中的请求
  • 点击&#34;复制为cURL&#34;
  • 转到http://curl.trillworks.com/网页并将cURL命令转换为Python +请求代码