我嘗試做了以下工作:Scrapy:請登錄表單,然後與會話
- 登錄到網頁(在我的情況zendesk.com)
- 使用該會話做一些帖子請求
事實上,zendesk錯過了一些apis(創建/改變宏),我現在需要模擬模擬瀏覽器會話。
所以我不寫一個蜘蛛,但嘗試與我的腳本進行交互的網站。帖子請求從一開始就不知道,但只在我的腳本中。
在Scrapy文檔,有以下的例子來說明如何使用Scrapy認證的會話:
class LoginSpider(BaseSpider):
name = 'example.com'
start_urls = ['http://www.example.com/users/login.php']
def parse(self, response):
return [FormRequest.from_response(response,
formdata={'username': 'john', 'password': 'secret'},
callback=self.after_login)]
def after_login(self, response):
# check login succeed before going on
if "authentication failed" in response.body:
self.log("Login failed", level=log.ERROR)
return
# continue scraping with authenticated session...
但看起來這僅適用於拼搶,但對我來說我只是想「舉行」會議並進一步與該會議合作。 有沒有一種方法可以通過scrapy來實現這一點,還是有更適合這項任務的工具?
我不認爲scrapy是適合您的正確工具。 scrapy是爲了抓取,登錄並「保留」它是沒有意義的。嘗試使用urllib登錄:http://stackoverflow.com/q/189555/248296 – warvariuc 2012-07-12 09:28:32