2010-07-09 32 views
5

Tôi đang xem xét việc tạo trình thu thập dữ liệu web/nhện nhưng tôi cần một người nào đó chỉ cho tôi đúng hướng để bắt đầu.Làm cho trình thu thập dữ liệu web/spider

Về cơ bản, con nhện của tôi sẽ tìm kiếm các tệp âm thanh và lập chỉ mục chúng.

Tôi chỉ tự hỏi nếu có ai có ý tưởng về cách tôi nên làm điều đó. Tôi đã nghe nói rằng việc thực hiện nó trong PHP sẽ rất chậm. Tôi biết vb.net để có thể có ích?

Tôi đã suy nghĩ về việc sử dụng tìm kiếm loại tệp của Google để nhận liên kết thu thập thông tin. Đó sẽ là tốt?

Trả lời

2

Trong VB.NET, bạn cần phải lấy HTML trước, vì vậy hãy sử dụng lớp WebClient hoặc các lớp HttpWebRequest và HttpWebResponse. Có rất nhiều thông tin về cách sử dụng chúng trên interweb.

Sau đó, bạn cần phải phân tích cú pháp HTML. Tôi khuyên bạn nên sử dụng cụm từ thông dụng cho điều này.

Ý tưởng của bạn về việc sử dụng Google cho tìm kiếm loại tệp là một điều tốt. Tôi đã làm một điều tương tự một vài năm trước đây để thu thập các tệp PDF để kiểm tra lập chỉ mục PDF trong SharePoint, hoạt động thực sự tốt.

+0

Cảm ơn, bất kỳ ý tưởng làm thế nào tôi có thể chèn dữ liệu vào mẫu cơ sở dữ liệu của tôi một ứng dụng vb máy tính để bàn? –

+0

Phụ thuộc vào hương vị của cơ sở dữ liệu. Có không gian tên 'System.Data.SqlClient' cho SQL Server. Đối với bất cứ điều gì khác, bạn sẽ cần phải nhìn vào không gian tên 'System.Data.OleDb'. Tốt hơn là sử dụng ứng dụng bảng điều khiển VB nếu bạn muốn điều này chạy tự động –

+2

Liên quan đến phân tích cú pháp HTML với regex .... http: //stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml -self-contained-tags Có lẽ là câu trả lời SO tốt nhất từng có. – rfusca

2

Đây là liên kết trên hướng dẫn về cách viết trình thu thập dữ liệu web trong java. http://java.sun.com/developer/technicalArticles/ThirdParty/WebCrawler/ Tôi chắc chắn nếu bạn google nó, bạn có thể tìm thấy những người cho các ngôn ngữ khác.

+0

Nếu bạn thực hiện một trình thu thập web trong java nó phải phía máy chủ? Ngay bây giờ tôi đang trên chia sẻ lưu trữ mà không cho phép java và tôi hiện không thể đủ khả năng để có được một chuyên dụng hoặc vps. –

+0

Không điều này có thể chạy trên máy tính ở nhà của bạn nếu bạn muốn. – qw3n

0

Mã giả nên được như thế:

Method spider(URL startURL){ 
Collection URLStore; // Can be an arraylist 
    push(startURL,URLStore);// start with a know url 
     while URLStore ! Empty do 
     currURL= pop(URLStore); //take an url 
     download URL page; 
     push (URLx, URLStore); //for all links to URL in the page which are not already followed, then put in the list 

Để đọc một số dữ liệu từ một trang web trong Java bạn có thể làm:

URL myURL = new URL("http://www.w3.org"); 
BufferedReader in = new BufferedReader(new InputStreamReader(myURL.openStream())); 
String inputLine; 
while ((inputLine = in.readLine()) != null) //you will get all content of the page 
System.out.println(inputLine); // here you need to extract the hyperlinks 
in.close(); 
Các vấn đề liên quan