Tiện ích mở rộng trình duyệt Python

Để đơn giản hóa mọi thứ, chúng tôi sẽ tạo tiện ích mở rộng WikiSearch lấy từ khóa và hiển thị cho chúng tôi bản tóm tắt từ Wikipedia. Chúng tôi sẽ làm theo bốn bước đơn giản

1. Thiết lập máy chủ [Django] của chúng tôi

Chúng tôi sẽ sử dụng Django để xây dựng máy chủ phụ trợ của chúng tôi. Chúng tôi sẽ trực tiếp đi vào chi tiết thiết lập máy chủ của chúng tôi, để biết mô tả chi tiết hơn về Django, bạn có thể xem hướng dẫn chính thức của họ

Trước tiên hãy cài đặt gói cần thiết. Chúng tôi sẽ sử dụng gói Wikipedia để lấy kết quả Wikipedia

pip install wikipedia

Sau khi thiết lập môi trường Django của chúng tôi, Hãy xây dựng một wiki ứng dụng

python manage.py startapp wiki

Chúng tôi sẽ cập nhật “mysite/urls. py” để ứng dụng của chúng ta có thể truy cập được

urlpatterns = [
path['wiki/', include['wiki.urls']],
path['admin/', admin.site.urls],
]

Máy chủ Django của chúng tôi hiện đã sẵn sàng hoạt động

2. Xây dựng API REST của chúng tôi

Chúng tôi sẽ liên lạc giữa tiện ích mở rộng Chrome của chúng tôi và Máy chủ Python bằng API REST. API REST đơn giản của chúng tôi sẽ hoạt động bằng cách trả về JSONResponse được cung cấp đầu vào truy vấn. Đây là phần quan trọng nhất nhưng đơn giản nhất trong toàn bộ hệ thống của chúng tôi

Để bắt đầu, chúng tôi sẽ thêm một “lượt xem. py” trong thư mục ‘wiki’. Sau đó, chúng tôi sẽ thêm một hàm nhận yêu cầu GET và gửi phản hồi JSON với kết quả được tìm nạp từ Wikipedia

Hãy cập nhật “wiki/urls của chúng tôi. py” để phản ánh những thay đổi của chúng tôi

urlpatterns = [
path['', views.index, name='index'],
url[r'^get_wiki_summary/$', views.get_wiki_summary, name='get_wiki_summary'],
]

Bây giờ là lúc để kiểm tra xem API REST của chúng tôi có hoạt động không. Sau khi chạy máy chủ Django của chúng tôi, hãy điều hướng đến trang “get_wiki_summary” của chúng tôi với truy vấn mong muốn của bạn. Tôi sẽ đi với "meme". Máy chủ của tôi đang chạy trên cổng 8000, vì vậy trong trường hợp của tôi, url là - http. //127. 0. 0. 1. 8000/wiki/get_wiki_summary/?topic=“meme”

Kết quả truy vấn của API REST của chúng tôi

Vì vậy, nó đang làm việc. Bây giờ hãy đi sâu vào tiện ích mở rộng chrome của chúng tôi

3. Thiết lập Tiện ích mở rộng Chrome của chúng tôi

Chúng tôi sẽ xây dựng một tiện ích mở rộng đơn giản với mẫu giao diện người dùng rất cơ bản có tính năng nhập văn bản. Một lần nữa, chúng tôi sẽ chỉ thảo luận về các phần liên quan trong hướng dẫn của chúng tôi. Nếu bạn muốn hiểu từ cốt lõi, Codevolution có một loạt bài tuyệt vời để hiểu những điều cơ bản về Tiện ích mở rộng của Chrome

Giao diện người dùng của chúng tôi trông như thế này -

FrontEnd đơn giản của chúng tôi

4. Thiết lập kết nối Cross-Origin

Mỗi phần mở rộng đang chạy tồn tại trong nguồn gốc bảo mật riêng của nó. Để kết nối với máy chủ python của chúng tôi, máy chủ đó nằm trong máy chủ cục bộ của chúng tôi. 8000, chúng tôi cần sử dụng XMLHttpRequest nhiều nguồn gốc

Quy trình làm việc của chúng tôi sẽ như thế này -

  1. Tập lệnh bật lên của chúng tôi sẽ giao tiếp với tập lệnh nền thông qua Truyền tin nhắn. [dòng 10]
  2. Tập lệnh nền của chúng tôi sẽ gửi yêu cầu GET đến máy chủ của chúng tôi với từ khóa đầu vào và gửi lại cho cửa sổ bật lên. [dòng 12–15]
  3. Tập lệnh bật lên của chúng tôi sẽ hiển thị phản hồi của máy chủ dưới dạng cảnh báo/thông báo. [dòng 13–23]

Thiết lập cơ bản của chúng tôi gần như đã hoàn tất. Điều cuối cùng chúng ta cần là thêm Quyền truy cập vào Localhost trong tệp kê khai của chúng ta. Nếu bạn đang sử dụng bất kỳ máy chủ chuyên dụng nào để lưu trữ, [ví dụ: Ngrok], bạn cũng sẽ cần thêm máy chủ đó vào Quyền

"permissions": 
[ ...,
"//127.0.0.1:8000/",
...,
...,
...
]

Bây giờ hãy kiểm tra xem nó có hoạt động bình thường không. Sau khi mở giao diện người dùng của chúng tôi, cung cấp một từ khóa bạn muốn tìm kiếm. Hãy thử “COVID19”, một mối quan tâm lớn hiện nay

từ truy vấn của chúng tôi

và Bingo. Bây giờ chúng tôi sẽ được nhắc với một cảnh báo/thông báo với tóm tắt truy vấn của chúng tôi

Cảnh báo tiện ích mở rộng của chúng tôi

Thông báo tiện ích mở rộng của chúng tôi

Tiếp theo là đâu…

Chúng tôi đã xây dựng thành công tiện ích mở rộng chrome rất cơ bản của mình với Máy chủ Python. Bây giờ là lúc sử dụng khái niệm cơ bản này để tạo một dự án đầy đủ. Ý tưởng cơ bản là giống nhau, chúng ta chỉ cần sửa đổi API REST của mình để phù hợp với nhu cầu của mình. Thay vì gửi lại câu trả lời từ Wikipedia, bạn phải sử dụng đầu ra của mô hình Machine Learning hoặc các phương tiện liên quan khác. Toàn bộ mã của hướng dẫn này có sẵn ở đây

Tập lệnh sẽ chạy trên máy chủ của riêng bạn. Bạn có thể chạy bất kỳ tập lệnh Brython nào từ web. Sử dụng Brython, bạn có thể chỉ cần nhập mã Python bên trong các thẻ tập lệnh. Hãy xem ví dụ về Brython này hoặc chỉ cần duyệt qua thư viện

Phương pháp B. Biên dịch Python sang Javascript. [không có máy chủ, tiện ích mở rộng thuần túy]


Có một số công cụ để biên dịch Python sang Javascript. Rapydscript hoạt động tốt, Pyjs không hoạt động tốt với chrome [yêu cầu tham số đặc biệt khi bắt đầu].
Cài đặt Rapydscript với.

sudo apt-get install npm
sudo ln -s /usr/bin/nodejs /usr/bin/node
sudo npm install rapydscript

Tải xuống mã từ trang web này.

Tải xuống mã mở rộng
Thay đổi tệp /src/hello. py cho bạn cần.


# Example Python script
# [for rapydscript, a python to javascript compiler]

#def doHelloMessage[]:
# alert['hello']
#doHelloMessage[]

# modify html page
document.getElementById["result"].innerHTML = 'Compiled Python script in Chrome'

# write into log
console.log['hello from python']

Chạy


./make.sh

Bạn có thể tìm thấy phần mở rộng của mình trong /compiledpythonextension/. Tải nó trong chrome dưới dạng tiện ích mở rộng chưa được đóng gói và xem nó hoạt động. -]

kết luận


Plugin Chrome được tạo bằng HTML, JavaScript và CSS. Chúng tôi có thể sử dụng Python để tạo các tiện ích mở rộng Chrome thông thường bằng trình biên dịch Python sang Javascript [Rapydscript]

Để lại bình luận. -]
 


Được đăng trong python►tutorials


2015-04-16

  • trình duyệt
  • trình duyệt Chrome
  • con trăn




Để lại câu trả lời.

Đừng điền vào đây nếu bạn là con người.

Tên

Địa chỉ email

Thông báo

Gửi tin nhắn


Sam Thứ Hai, ngày 04 tháng 5 năm 2015

Khủng khiếp. Tốt lắm

shubham aggarwal Thứ ba, ngày 03 tháng 5 năm 2016

thật tuyệt vời. ]

Andrey Makarov Thứ Sáu, ngày 30 tháng 6 năm 2017

Tôi đã dùng thử Flexx PyScript ngày hôm qua và tôi nghĩ nó hoạt động tốt hơn rapydscript. Ít nhất nó hỗ trợ lambdas

Bạn có thể tạo tiện ích mở rộng cho trình duyệt bằng Python không?

Các plugin của Chrome được tạo bằng HTML, JavaScript và CSS. Chúng tôi có thể sử dụng Python để tạo các tiện ích mở rộng thông thường của Chrome bằng trình biên dịch Python sang Javascript [Rapydscript] .

Tôi có thể chạy Python trong trình duyệt web không?

Python có thể là ngôn ngữ lập trình phổ biến nhất trên thế giới, nhưng không giống như các ngôn ngữ JavaScript tiên phong khác, bạn không thể chạy mã Python trong trình duyệt.

Bạn có thể chạy Python trong tiện ích mở rộng của chrome không?

Chạy chương trình Python bằng Tiện ích mở rộng của Chrome . Phương pháp này rất đơn giản, Truy cập cửa hàng chrome trực tuyến để tải xuống Tiện ích mở rộng Python Shell của Chrome . Click vào add to chrome để cài đặt và add extension vào trình duyệt.

Làm cách nào để sử dụng trình duyệt web trong Python?

Sử dụng trình duyệt web bằng Python . Trong hầu hết các trường hợp, chỉ cần gọi hàm open[] từ mô-đun này sẽ mở url bằng trình duyệt mặc định . Bạn phải nhập mô-đun và sử dụng hàm open[].

Chủ Đề