如何刮取更改<select>标记</select>内容的网页

时间:2012-09-10 09:57:19

标签: python web-scraping

我想抓一个通过<select&gt;更改其内容的网页标签。当我选择其他选项时,页面内容会动态更改。我想知道是否有一种方法可以从python脚本更改选项,以便我可以从<select>标记中的所有不同选项的所有不同页面获取内容。

2 个答案:

答案 0 :(得分:0)

我假设你使用像urllib这样的库来进行抓取。您已经知道网站的内容会动态变化。我还假设动态内容使用服务器端交互。这意味着,使用javascript(ajax),浏览器根据选择的值从服务器请求新数据。

如果是这样,那么您可以尝试在Web抓取库中模拟对服务器的ajax调用。

  1. 首先,使用浏览器调试工具找出正在调用的服务器的URL。
  2. 拆分ajax调用中的参数部分
  3. 执行相同的调用以查找select标记中的选项。

答案 1 :(得分:0)

正如@Tichodroma所说,当选择改变时,要么:

  1. 以前隐藏在页面上的某些内容可见,或者:
  2. 进行ajax调用以检索一些其他内容并将其添加到DOM
  3. 在这两种情况下,都涉及到JavaScript。看看它,根据发生的情况(案例#1或#2),你应该:

    1. 抓取整个页面,因为您想要的所有内容都已包含在内,或者:
    2. 对通常使用ajax调用的文件进行多次调用,以便为<select>
    3. 的每个值检索所需的内容