2009-04-07 50 views
12

Tôi muốn thu thập thông tin cho những điều cụ thể. Các sự kiện cụ thể đang diễn ra như các buổi hòa nhạc, phim ảnh, các phòng trưng bày nghệ thuật, v.v. Mọi thứ mà mọi người có thể dành thời gian.Thu thập thông tin Internet

Làm cách nào để triển khai trình thu thập thông tin?

Tôi đã nghe nói về Grub (grub.org -> Wikia) và Heritix (http://crawler.archive.org/)

Có những người khác?

Mọi người có ý kiến ​​gì?

-Jason

Trả lời

3

Tôi nghĩ phần webcrawler sẽ là phần dễ nhất của tác vụ. Phần khó khăn sẽ quyết định trang web nào cần truy cập và cách khám phá các sự kiện trên các trang web mà bạn muốn truy cập. Có thể bạn muốn xem về việc sử dụng Google hoặc Yahoo API để nhận dữ liệu bạn muốn. Họ đã thực hiện công việc thu thập dữ liệu rất nhiều trang trên internet - bạn có thể tập trung vào suy nghĩ của mình, vấn đề khó khăn hơn trong việc chọn lọc dữ liệu để có được các sự kiện bạn đang tìm kiếm.

0

Có một yêu cầu cụ thể ngôn ngữ?,

tôi đã dành một số thời gian chơi đùa với các Chilkat Spider Lib cho .net một thời gian trở lại để làm thí điểm cá nhân,

ngoái, tôi đã kiểm tra có nhện Libs, được cấp phép như miễn phí, (Altho nguồn không mở như xa như tôi biết :()

có vẻ họ đã trăn Lib để.

http://www.example-code.com/python/pythonspider.asp #Python http://www.example-code.com/csharp/spider.asp # .Net

1

Nếu bạn thấy rằng việc thu thập dữ liệu internet trở thành một nhiệm vụ bạn có thể muốn cân nhắc xây dựng một RSS aggregator và đăng ký nguồn cấp dữ liệu RSS cho các trang web sự kiện phổ biến như craigslist và coming.org.

Mỗi trang trong số này cung cấp các sự kiện được bản địa hóa, có thể tìm kiếm được. RSS cung cấp cho bạn một (vài) định dạng chuẩn hóa thay vì phải có tất cả các định dạng html tạo nên trang web ...

Có thư viện mã nguồn mở như ROME (java) có thể trợ giúp tiêu thụ nguồn cấp dữ liệu RSS.

0

Làm theo ngày Kevin's đề xuất nguồn cấp dữ liệu RSS, bạn có thể muốn xem Yahoo pipes. Tôi chưa thử chúng, nhưng tôi nghĩ chúng cho phép bạn xử lý một số nguồn cấp dữ liệu RSS và tạo các trang web hoặc nhiều nguồn cấp dữ liệu RSS hơn.

+1

Không bao giờ sử dụng Ống cho bất kỳ thứ gì lớn. Nó không phải là rất đáng tin cậy và khá chậm. – mixdev

4

Check-out Scrapy. Đó là một khung công tác thu thập dữ liệu web mã nguồn mở được viết bằng Python (tôi đã nghe nó tương tự như Django ngoại trừ thay vì phục vụ các trang mà nó tải xuống). Nó dễ dàng mở rộng, phân phối/song song và trông rất hứa hẹn.

Tôi muốn sử dụng Scrapy, vì cách đó tôi có thể tiết kiệm điểm mạnh cho một thứ gì đó tầm thường hơn như cách trích xuất dữ liệu chính xác từ nội dung đã được rút gọn vv và chèn vào cơ sở dữ liệu.

2

Thực tế viết trình thu thập thông tin theo quy mô là một nhiệm vụ khá khó khăn. Tôi đã thực hiện một công việc và duy trì nó trong một thời gian. Có rất nhiều vấn đề mà bạn không biết tồn tại cho đến khi bạn viết một và nhấn các vấn đề. Cụ thể xử lý các CDN và thu thập dữ liệu các trang web thân thiện. Các thuật toán thích ứng rất quan trọng hoặc bạn sẽ đi các bộ lọc DOS. Trên thực tế bạn sẽ anyhow mà không biết nó nếu thu thập dữ liệu của bạn là đủ lớn.

Những điều cần suy nghĩ về:

  • gì ngoại trừ thông có thể?
  • Làm cách nào để xử lý sự cố ngừng hoạt động của trang web?
  • Điều gì sẽ xảy ra nếu bạn bị chặn?
  • Bạn có muốn tham gia vào việc thu thập thông tin ẩn danh (liên tục và thực sự khá khó khăn để có quyền) không?

Tôi thực sự đã viết một số thứ mà tôi có thể đưa lên mạng để xây dựng trình thu thập thông tin vì việc xây dựng một trình thu thập dữ liệu khó khăn hơn mọi người sẽ nói với bạn. Hầu hết các trình thu thập thông tin nguồn mở đều hoạt động tốt cho hầu hết mọi người vì vậy nếu bạn có thể khuyên bạn nên sử dụng một trong những trình thu thập thông tin đó. Cái nào là lựa chọn tính năng/nền tảng.

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