我想用Scrapy刮https://a836-propertyportal.nyc.gov/Default.aspx。我在使用FormRequest時遇到了困難 - 具體而言,我不知道如何告訴Scrapy如何填充塊和批次表單,然後獲取頁面的響應。我嘗試了在這裏找到的Scrapy網站上的FormRequest例子(http://doc.scrapy.org/en/latest/topics/request-response.html#using-formrequest-from-response-to-simulate-a-user-login),但仍然難以正確點擊「搜索」按鈕。需要JavaScript交互的刮頁
如果您能提供任何建議以便我可以從提交的頁面提取數據,我將非常感激。 SO上的一些海報表明,Scrapy不能很好地處理JS事件,而是使用CasperJS之類的其他庫。
更新:我將非常感激,如果有人可以請點我到Java/Python的/ JS庫,讓我提交表單,並獲取後續信息
更新的代碼(以下帕維爾的評論):我的代碼可以在這裏找到:
from scrapy.spider import Spider
from scrapy.selector import Selector
from scrapy.http import FormRequest, Request
class MonshtarSpider(Spider):
name = "monshtar"
allowed_domains = ["https://a836-propertyportal.nyc.gov/Default.aspx"]
start_urls = (
'https://a836-propertyportal.nyc.gov/Default.aspx/',
)
def parse(self, response):
print "entered the parsing section!!"
yield Request("https://a836-propertyportal.nyc.gov/ExemptionDetails.aspx",
cookies = {"borough":"1", "block":"01000", "style":"default", "lot":"0011"}, callback = self.aftersubmit)
def aftersubmit(self, response):
#get the data....
print "SUCCESS!!\n\n\n"
Hi @Pawel:我現在可以打印出答覆,非常感謝!但是,並非所有感興趣的值都出現。例如,當我打印出響應的主體時,稅率確實出現,但所有者名稱沒有。你會如何建議我補救這一點? – NumenorForLife