我正在尝试对一个通过Javascript生成数据的站点进行web抓取。我已经在这里读了足够多的资料,现在我知道,刮这些东西的方法是:查看Firebug中的network选项卡,了解当您发出请求时会发生什么
隔离XHR请求并在脚本中重新创建它们。在
所以,当我做1时,一个POST请求被发送到这个截图中可见的链接:
你也可以看到它得到的反应。看起来不错,对吧?在
但是,当我尝试用Firebug中Post选项卡下看到的负载重新创建请求和响应时,在Python中如下所示:import requests
from bs4 import BeautifulSoup
payload = {"Max":999,"RectCoord":"89,-179,-89,179","Source":"","SortField":"NEWID()","OfficeName":"","FirstName"
:"","LastName":"da","CityName":"","ZipCode":"","Category":"S","SecLanguageReq":"","OfficeCode":""}
r = requests.post('http://search.cnyrealtor.com/MyAjaxService.asmx/MemberSearch', data=payload)
print(r.content)
我得到一个显示错误消息的页面:
Request format is unrecognized for URL unexpectedly ending in \'/MemberSearch\'
所以,我的问题是-为什么当Firebug中的响应正常时,我会得到这样的响应?我在Python脚本的requests.post(url)行中遗漏了什么吗?在