从具有相同URL的两个不同页面刮取数据

时间:2016-12-05 13:05:48

标签: python asp.net web-scraping

我正在尝试从此网站废弃数据

http://www.professorpaddle.com/rivers/riverlist.asp

对于不同的状态,url是相同的。例如,washington页面和oregon页面具有相同的url。如何根据用户在python中的选择编写单个脚本来废弃每个状态的数据?

1 个答案:

答案 0 :(得分:2)

在这种情况下,数据是在页面上动态创建的。所以你应该做一些post请求来从服务器获取数据。你可以使用requests来做到这一点。如果您使用Firefox或Google Chrome,则可以使用检查工具查找页面的javascript所执行的请求类型。在这种特定情况下,您可以通过这种方式获取数据:

import requests

# for Washington
data = requests.post("http://www.professorpaddle.com/rivers/riverlist.asp", data={"hstateid":13}).text 

获取所有数据:

all_data = []
for state in range(65): # I got this range manually 
    data = requests.post("http://www.professorpaddle.com/rivers/riverlist.asp", data={"hstateid":state}).text
    all_data.append(data)