2015-03-03 74 views
3

如果我創建一個函數來獲取網頁。它會在每次執行時在不同的IP上執行它,以便我的抓取請求不會被阻止?亞馬遜lambda適合網頁抓取?

+0

從刮網站的角度來看,你在做什麼是惡意的。刮擦會給網絡服務器造成破壞性和昂貴的負擔,而你遇到的IP過濾就是防禦。如果你成功繞過防守,你會造成很多錢和惡化。 – philo 2016-10-02 22:15:59

回答

0

將文件放入S3中​​或將數據添加到Kinesis或DynamoDB時,會觸發Lambda。這通常是網絡抓取工具需要的東西,儘管像S3這樣的東西可以作爲隊列/作業運行者來執行。

刮在不同的IP上?當然,lambda部署在許多機器上,儘管這實際上並不能幫助你,因爲你無法控制機器或IP。

+2

不控制IP確實有幫助,它正是你想要的 - 每次調用刮擦作業的新IP都是正確的?另外,s3,kinesis和dynamoDb不是運行lambda函數的唯一選項。您可以使用sdk或cli按需調用lambda函數。您可以從SNS/SQS讀取一個程序,用於「抓取作業」,然後調用lambda函數執行抓取。 – nackjicholson 2015-03-20 07:39:01

+0

不控制IP地址意味着您最終可能會遇到來自同一IP的所有查詢,或者來自阻止的IP地址的隨機查詢,並且您無法從池中刪除這些查詢。 @nackjicholson – tedder42 2015-03-20 20:41:24

+0

啊,我明白了。很好地繞過屏幕抓取禁令可能不是亞馬遜試圖用Lambda解決的問題:) – nackjicholson 2015-03-21 23:01:12

0

我會用這個AWS管道: enter image description here

凡在左邊你將有JAUNT EC2實例,然後喂URL或HTML頁面轉換成室壁運動流源。 Lambda將執行HTML解析並通過Firehose將所有內容都轉換爲S3或Redshift。 JAUNT可以通過帶有旋轉IP的標準WebProxy服務運行。