2009-02-28 38 views
5

Tôi có kịch bản của bộ lọc dầu mỡ của tôi quét mọi trang tôi truy cập cho một chuỗi cụ thể. Tôi muốn ghi lại các biến thể của chuỗi trong một db sqlite. Tôi sẽ có một quá trình ứng dụng này db everyonce trong một thời gian. Những gì tôi không biết là làm thế nào để lưu trữ dữ liệu vào db sqlite? tôi đã suy nghĩ tôi có thể khởi động một thực thi tự động nếu chuỗi đã được tìm thấy nhưng tôi không biết làm thế nào để làm điều đó thông qua javascript. Một thay thế tôi nghĩ đã có một ổ cắm lắng nghe trên một cổng nhất định và có một số phép thuật js nhưng tôi couldnt nghĩ về một cách im lặng để gửi dữ liệu như thế.khởi chạy một ứng dụng để ghi lại với mỡ

Trả lời

1

Tôi không chắc chắn cách bạn có thể sử dụng nó bằng Greasemonkey nhưng Firefox có API được gọi là Bộ nhớ để sử dụng cơ sở dữ liệu sqlite. Kiểm tra xem nó ra ở đây: https://developer.mozilla.org/en/Storage

0

Bạn có thể yêu cầu tập lệnh của bộ lọc mỡ gọi url bằng một số biến (như dữ liệu bạn muốn lưu trữ). Sử dụng yêu cầu ajax. Bạn có thể thiết lập máy chủ web cục bộ để xử lý chúng.

Nếu bạn sử dụng cửa sổ, bạn có thể sử dụng WAMP để nhanh chóng ném lên một máy chủ web. Chỉ cần chắc chắn rằng bạn cho phép mở rộng php_sqlite.

này có thể giúp bạn với một số chi tiết cụ thể thực hiện: http://www.pathf.com/blogs/2006/07/bjax_with_greas/

2

Bạn cũng có thể muốn xem xét việc sử dụng phần mở rộng Google Gears, trong đó sử dụng một cơ sở dữ liệu SQLite dưới mui xe.

3

Tôi khuyên bạn nên sử dụng máy chủ web để thu thập dữ liệu. Bạn có thể thiết lập một miền hoặc IP để gửi dữ liệu đến. Chỉ cần để bắt đầu, bạn thậm chí có thể chạy trên localhost nếu bạn cần.

Lợi thế là, khi được tạo, cùng một kiến ​​trúc có thể được sử dụng từ các máy tính khác nhau, để mọi máy tính bạn chạy tập lệnh có thể chia sẻ kết quả.

Cập nhật: Để liên lạc với máy chủ, bạn cần sử dụng GM_xmlhttpRequest. Tôi biết một thư viện bổ sung thêm một lớp trừu tượng để sử dụng GM_xmlhttpRequest dễ dàng hơn: Speakeasy.js. Nó là một ActiveResource nhẹ tương đối không rõ như giao diện để gửi và lấy dữ liệu từ một máy chủ web RESTful. Here's an example của tập lệnh Greasemonkey giao tiếp với máy chủ web trên mỗi lần tải trang. Nó tải chú thích và hiển thị chúng trên trang.

Dưới đây là một phiên bản chuyển thể gần gũi với nhu cầu của bạn:

// ==UserScript== 
// @name   Demo Script 
// @namespace  http://example.com 
// @description Sample 
// @include  * 
// 
// @require  http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js 
// @require  http://strd6.googlecode.com/svn/trunk/gm_util/d_money.js 
// @require  http://strd6.googlecode.com/svn/trunk/gm_util/speakeasy.js 
// 
// ==/UserScript== 


error = D$.error; 
log = D$.log; 
D$.debug(false); 


Speakeasy 
    .generateResource('result') 
    .configure({ 
    baseUrl: 'http://localhost:3000/' 
    }) 
; 


// Attach all annotations for this page from remote server 
var href = window.location.href; 
currentUrl = href.substring(href.indexOf('://') + 3); 
log(currentUrl); 

var result1 = 'something'; // Insert your function to get your result data 
var result2 = 'something else'; // Insert your function to get your result data 

Speakeasy.result.create({ 
    data: { 
    url: currentUrl, 
    result1: result1, 
    result2: result2 
    } 
}); 

Bạn có thể nhanh chóng tạo ra một trang web Rails hoặc sử dụng bất cứ điều gì backend bạn đã quen thuộc với.

+0

làm cách nào để gửi dữ liệu đến trang web hoặc máy chủ cục bộ của tôi khi tôi duyệt? nó sẽ tự động quét mọi trang và gửi một cách im lặng –

+0

Biến "result1" và "result2", trong ví dụ này, sẽ giữ dữ liệu bạn muốn. Nếu bạn chỉ muốn HTML của toàn bộ trang web, hãy sử dụng document.body.innerHTML. Nếu không, hãy lọc trang tương ứng. Dữ liệu sẽ được gửi trên mọi tải trang, bởi vì tập lệnh này thực thi trên tất cả các trang web. – PotatoEngineer

1

Hoặc bạn chỉ cần sử dụng LubeMonkey, một ngã ba Greasemonkey cải tiến của nó với hỗ trợ sqlite. Mỗi tập lệnh được cài đặt đều tạo db sqlite của riêng bạn và bạn có thể thực hiện các cập nhật truy vấn, v.v. trong db đó, bạn thậm chí có thể lưu trữ hình ảnh trên db hoặc bất kỳ dữ liệu nào. Tải xuống tại đây http://www.gamecore.org

Các vấn đề liên quan