Hướng dẫn python inspect chrome - python kiểm tra chrome

Nếu bạn muốn tự động tìm nạp một trang web từ Python theo cách chạy JavaScript, bạn nên xem xét Selenium. Nó có thể tự động lái trình duyệt web (thậm chí là trình duyệt web không đầu như Phantomjs, vì vậy bạn không cần phải mở cửa sổ).

Nội dung chính

  • Không có API công cụ kiểm tra URL
  • Cách tiếp cận tổng thể
  • Công cụ & Thư viện bắt buộc
  • Python + JavaScript
  • Được thiết lập
  • Bắt đầu Chrome ở chế độ gỡ lỗi
  • Hoạt động tự động hóa cơ bản
  • Bộ chọn phần tử
  • Khai thác JavaScript
  • Đặt mọi thứ lại với nhau
  • Thực hiện phân tích
  • Tài nguyên để tìm hiểu thêm
  • Làm thế nào để bạn kiểm tra một yếu tố trong Python HTML?
  • Làm thế nào để bạn kiểm tra trang web?
  • Web Scraping trong Python là gì?
  • Làm cách nào để cạo một trang web bằng cách sử dụng phần tử kiểm tra?

Để có được HTML, bạn sẽ cần đánh giá một số JavaScript. Mã mẫu đơn giản, thay đổi thành phù hợp:

from selenium import webdriver

driver = webdriver.PhantomJS()
driver.get("http://google.com")

# This will get the initial html - before javascript
html1 = driver.page_source

# This will get the html after on-load javascript
html2 = driver.execute_script("return document.documentElement.innerHTML;")

Lưu ý 1: Nếu bạn muốn một yếu tố hoặc phần tử cụ thể, bạn thực sự có một vài tùy chọn - phân tích HTML trong Python hoặc viết JavaScript cụ thể hơn để trả về những gì bạn muốn.

Lưu ý 2: Nếu bạn thực sự cần thông tin cụ thể từ các công cụ của Chrome không chỉ được tạo ra một cách động HTML, bạn sẽ cần một cách để kết nối với chính Chrome. Không có cách nào xung quanh đó.

Khi tổ chức lại các trang web của XML với Python cho vui và lợi nhuận, tôi đã đề cập đến cách sắp xếp lại STEMAPS XML để cô lập các vấn đề lập chỉ mục.

Hãy nói rằng bạn đã làm theo quy trình đó và bây giờ bạn có hàng tá URL quan trọng không được lập chỉ mục và bạn cần hiểu, trong tổng hợp, nguyên nhân chính của các vấn đề lập chỉ mục của bạn.

Trong cột này, chúng ta sẽ học được điều gì đó thực sự thú vị!

Chúng tôi sẽ học cách tự động hóa trình duyệt Chrome, nhưng cụ thể hơn là công cụ kiểm tra URL để kiểm tra URL với số lượng lớn và trực quan hóa bất kỳ mẫu nào ảnh hưởng đến lập chỉ mục.

Hướng dẫn python inspect chrome - python kiểm tra chrome

Công cụ kiểm tra URL đã phát triển mạnh mẽ đến mức nó đã trở thành một công cụ không thể thiếu cho công việc SEO kỹ thuật hiệu quả. Công cụ này có năm trường hợp sử dụng chính và chúng tôi sẽ tự động hóa hầu hết trong số chúng trong bài viết này:

  • Kiểm tra một URL được lập chỉ mục.
  • Kiểm tra một url trực tiếp.
  • Xem phiên bản kết xuất của trang.
  • Kiểm tra phản hồi HTTP, tài nguyên trang và tin nhắn JavaScript.
  • Yêu cầu lập chỉ mục cho một URL.

Không có API công cụ kiểm tra URL

Nếu bạn đã cố gắng tự động hóa công cụ này, có lẽ bạn đã thất vọng khi biết rằng không có API có sẵn.

Vì vậy, làm thế nào chúng ta sẽ tự động hóa nó mà không có API?

Tôi sẽ cho phép bạn sử dụng một kỹ thuật mạnh mẽ thường được sử dụng bởi các nhóm đảm bảo chất lượng phần mềm: tự động hóa trình duyệt web.

Hầu hết các cửa hàng phát triển web chuyên nghiệp đều chạy các bài kiểm tra đảm bảo chất lượng tự động trong trình duyệt web. Họ làm điều này để đảm bảo phần mềm hoạt động như mong đợi khi nó được xây dựng.

Chúng tôi sẽ sử dụng các công cụ và kỹ thuật tự động hóa trình duyệt nhưng với mục đích chạy công cụ mới yêu thích của chúng tôi, công cụ kiểm tra URL, không có API.

Xin lưu ý rằng Google có các thuật ngữ rõ ràng cấm các truy vấn tự động, nhưng từ ngữ của họ dường như được tập trung vào các tìm kiếm của Google như được sử dụng bởi các trình theo dõi xếp hạng.

Có thể họ đã giành được sự hài lòng với kỹ thuật này vì vậy tôi khuyên bạn nên sử dụng nó với kiểm duyệt cực độ.I recommend using it with extreme moderation.I recommend using it with extreme moderation.

Trong mọi trường hợp, việc kiểm tra hàng ngàn hoặc hàng triệu URL là không thực tế với phương pháp này như bạn sẽ tìm hiểu dưới đây.

Cách tiếp cận tổng thể

Chúng tôi sẽ kết nối mã tự động trình duyệt của chúng tôi với một phiên bản đang chạy của trình duyệt Chrome.

Chúng tôi sẽ đăng nhập thủ công vào bảng điều khiển tìm kiếm của Google trong trường hợp này. Sau khi kết nối, chúng tôi sẽ hướng trình duyệt đến các trang mở, nhấp vào các phần tử trang, trích xuất nội dung, v.v.

Công cụ kiểm tra URL chỉ là một ví dụ mà tôi sử dụng để minh họa kỹ thuật mạnh mẽ này. Bạn có thể tự động hóa bất kỳ công cụ hoặc nhiệm vụ nào bạn thường xuyên thực hiện trong trình duyệt web.

Hãy để một số niềm vui!

Công cụ & Thư viện bắt buộc

  • Pyppeteer
  • Gấu trúc

Python + JavaScript

Được thiết lập

Bắt đầu Chrome ở chế độ gỡ lỗi

Được thiết lập

Bắt đầu Chrome ở chế độ gỡ lỗi

Hoạt động tự động hóa cơ bản

Để bắt đầu tải xuống và cài đặt miniconda cho hệ điều hành của bạn từ url này: https://docs.conda.io/en/latest/miniconda.html.

Không thực tế khi chạy điều này trong Google Colaboratory vì bạn cần một trình duyệt Chrome cục bộ đang chạy.

Bạn có thể tùy chọn cài đặt Jupyter để sử dụng nó làm môi trường mã hóa:

conda install jupyter

Cài đặt pyppeteer

python3 -m pip install pyppeteer

Sau khi tôi cài đặt Pyppeteer (phiên bản 0.0,25), tôi đã phải đối mặt với một số lỗi buộc tôi phải trở lại phiên bản cũ hơn của một vài thư viện cần thiết.

conda install tornado==4.5.3
conda install websocket==6.0

Bắt đầu Chrome ở chế độ gỡ lỗi

Sau khi bạn có Pyppeteer và Jupyter được thiết lập chính xác, bạn có thể tiến hành bắt đầu Chrome ở chế độ gỡ lỗi để cho phép điều khiển tập lệnh.

Trước tiên, hãy tạo một hồ sơ người dùng riêng biệt để giữ dữ liệu và mật khẩu của tài khoản Google Search Console.

Hãy để sử dụng lệnh này trong Mac.

mkdir ~/chrome-dev
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222 --no-first-run --user-data-dir=~/chrome-dev

Đây sẽ là tương đương trong Windows (tôi đã thử nghiệm nó).

mkdir ~/chrome-dev
"C:\Program Files (x86)\Google\Chrome\Application\Chrome.exe --remote-debugging-port=9222 --no-first-run --user-data-dir=~/chrome-dev"

Chúng tôi đang vượt qua hai tham số bổ sung mới:

  • Cấmremote-debugging-port
  • Cấmuser-data-dir

Cái đầu tiên cho phép điều khiển từ xa, trong khi cái thứ hai tạo ra một hồ sơ người dùng khác để thử nghiệm của chúng tôi không gây rối với trình duyệt thông thường của chúng tôi (nếu chúng tôi sử dụng Chrome làm trình duyệt chính).

Khi Chrome bắt đầu, nó sẽ in ra một số tin nhắn gỡ lỗi vào bảng điều khiển. Bạn cần nắm bắt dòng đầu tiên sẽ trông như thế này:

DevTools listening on ws://127.0.0.1:9222/devtools/browser/be6cf39f-0748-4d99-b9ca-cf3bda9fdca6

Chúng tôi đặc biệt quan tâm đến URI bắt đầu với WS: //. Hãy để Lừa sao chép nó vào một biến Python để chúng ta có thể kết nối với thể hiện Chrome.

conda install jupyter
0

Tiếp theo, hãy để thủ công đăng nhập vào tài khoản Google có liên quan của chúng tôi và mở bảng điều khiển tìm kiếm Google.

Hoạt động tự động hóa cơ bản

Bây giờ chúng tôi có một phiên bản trình duyệt ở chế độ gỡ lỗi và chúng tôi đã đăng nhập vào bảng điều khiển tìm kiếm của Google, chúng tôi sẽ mô phỏng các hành động của người dùng để tự động hóa công cụ kiểm tra URL.

Đây là những hành động trình duyệt cụ thể mà chúng tôi sẽ tự động hóa:

  • Điều hướng đến một trang web.
  • Nhấp vào hộp đầu vào thanh tra URL.
  • Gõ URL chúng tôi muốn kiểm tra, bao gồm cả nhấn Enter để gửi nó.
  • Nhấp vào Accordion báo cáo để trực quan hóa các báo cáo (tùy chọn).
  • Chạy các chức năng trích xuất JavaScript tùy chỉnh để trích xuất dữ liệu báo cáo.
  • Nhấp vào yêu cầu lập chỉ mục để yêu cầu lập chỉ mục.
  • Nhấp vào Test Live để kiểm tra phiên bản trực tiếp của trang.
  • Nhấp vào trang được kết xuất để xem phiên bản kết xuất của trang.

Bộ chọn phần tử

Để nhấp vào các phần tử trang web và trích xuất nội dung của chúng, bạn cần chỉ định vị trí của chúng trong DOM được phân tích cú pháp. Xpaths là một cách để làm điều này mà tôi đã bao phủ trong quá khứ.

Bạn cũng có thể giải quyết các yếu tố bằng cách sử dụng các bộ chọn CSS hoặc đường dẫn JS trực tiếp, đó là các phương pháp chúng tôi sẽ sử dụng trong bài viết này. Bạn có thể sử dụng Get Xpath/CSS Selector/JS Path của bất kỳ phần tử DOM nào tương đối dễ dàng trong Chrome:

Nhấp chuột phải vào phần tử bạn muốn, nhấp vào phần tử kiểm tra, trong chế độ xem phần tử của nhà phát triển Chrome, nhấp chuột phải lại, trong bản sao, chọn đường dẫn JS.

Chúng tôi sẽ chạy Thanh tra URL theo cách thủ công và ghi lại tất cả các bộ chọn chúng tôi cần. Chúng tôi sẽ sử dụng các bộ chọn CSS cho các yếu tố chúng tôi cần nhấp và các đường dẫn JS cho các yếu tố chúng tôi cần trích xuất.

Đây là danh sách tôi đặt cùng nhau:

Hộp tìm kiếm thanh tra URL

conda install jupyter
1

Chúng tôi sẽ sử dụng bộ chọn này để nhấp vào hộp tìm kiếm để đưa nó vào tiêu điểm và để nhập URL để tìm kiếm, bao gồm cả KeyStroke Enter.

Lưu ý rằng bộ chọn này thay đổi mỗi khi tôi tải trình duyệt Chrome, vì vậy tôi cần sao chép thủ công và dán lại vào tập lệnh.

URL có trên google / không có trên google

conda install jupyter
2

Chúng tôi sẽ sử dụng yếu tố này để tìm hiểu nếu trang được lập chỉ mục.

Các bộ chọn sau đây có hai đường dẫn thay thế tùy thuộc vào việc trang có được lập chỉ mục hay không.

Trang giới thiệu

conda install jupyter
3

Chúng tôi sử dụng điều này để trích xuất trang mà Google đã sử dụng để khám phá trang được kiểm tra.

Ngày bò

conda install jupyter
4

Chúng tôi sử dụng điều này để trích xuất ngày Google thu thập thông tin trên trang.

Người dùng bị phá hủy

conda install jupyter
5

Chúng tôi sử dụng điều này để trích xuất chính tắc được chỉ định trên trang.

Được chọn Google Canonical

conda install jupyter
6

Chúng tôi sử dụng điều này để trích xuất Google đã chọn.

Các bộ chọn sau đây sẽ cho phép chúng tôi nhấp vào các nút và tab để thực hiện các hành động mong muốn.

conda install jupyter
7

Khai thác JavaScript

Tiếp theo, chúng tôi sẽ tạo chức năng JavaScript với tất cả các đường dẫn JS có liên quan được sử dụng để trích xuất.

Chúng tôi sẽ chuyển chức năng này cho Chrome để thực hiện trên trang đích của chúng tôi và chúng tôi sẽ lấy lại một từ điển Python mà chúng tôi có thể tải vào khung dữ liệu Pandas.

conda install jupyter
8

Hầu hết các bộ chọn trích xuất dữ liệu có nhiều tùy chọn. Chúng tôi sử dụng một thủ thuật để thực hiện giải pháp thay thế nếu tùy chọn đầu tiên không thành công. || Toán tử làm điều đó, tương tự như cách nó hoạt động trong dòng lệnh Unix/Linux.

Cố gắng để có được những dữ liệu này bằng cách sử dụng Python trực tiếp là có thể, nhưng trong trường hợp này, việc sử dụng JavaScript đơn giản và đơn giản hơn rất nhiều.

Đặt mọi thứ lại với nhau

Bây giờ chúng tôi đã hoàn thành tất cả các bước chuẩn bị, hãy để đến phần thú vị. Tự động hóa toàn bộ!

Dưới đây là mã để kết nối với phiên bản Chrome trực tiếp chạy với Google Search Console Open.

conda install jupyter
9

Tôi đã thêm một số mã bổ sung để kiểm soát kích thước cửa sổ. Vui lòng cập nhật để thích ứng với máy tính của bạn.

Tạo một danh sách các URL bạn muốn kiểm tra. Danh sách này có thể đến ví dụ từ Sơ đồ trang web XML được lập chỉ mục.

Tôi không khuyên bạn nên kiểm tra quá nhiều URL bằng phương pháp này, có thể vài chục trang siêu quan trọng...

Đầu tiên, tự động hóa trình duyệt chậm và tài nguyên chuyên sâu và bạn cần phải đăng nhập vào tài khoản Google của mình. Nếu họ không thích điều này, họ có thể dễ dàng cấm toàn bộ tài khoản của bạn.

Cũng có thể Google bắt đầu thêm captchas nếu mọi người bắt đầu lạm dụng kỹ thuật này.

Dưới đây là mã để mở trang trang web chính trong Bảng điều khiển tìm kiếm.

python3 -m pip install pyppeteer
0

Sau đó, ở đây chúng tôi có thể nhấp vào hộp đầu vào của Thanh tra URL để đưa nó đến Focus.

python3 -m pip install pyppeteer
1

Như bạn đã thấy trong GIF hoạt hình khi bắt đầu bài viết, phần thú vị nhất là xem trình duyệt gõ URL để kiểm tra, nhân vật. Nó cảm thấy như phép thuật.

Trước tiên tôi đã thử đặt giá trị trường đầu vào trực tiếp nhưng nó không hoạt động.

Tiếp theo, chúng tôi thêm độ trễ 5 giây để chờ công cụ chạy và kiểm tra URL. Hãy thoải mái để tăng nó.

Khi báo cáo mở ra, chúng tôi có thể đi thẳng và chạy trích xuất dữ liệu, nhưng khi chúng tôi đang xem trình duyệt thực hiện các tác vụ, tôi nghĩ rằng sẽ rất hữu ích khi mở rộng một trong các tab ẩn.

python3 -m pip install pyppeteer
2

Bây giờ, bước quan trọng nhất. Nhận dữ liệu được báo cáo cho URL trở lại Python. Chúng tôi vượt qua chức năng JavaScript được tạo cho Chrome để đánh giá và trả về từ điển dữ liệu của chúng tôi.

python3 -m pip install pyppeteer
3

Dưới đây là một số ví dụ đầu ra.

python3 -m pip install pyppeteer
4

Tôi sẽ để các bước sau đây là một bài tập để bạn hoàn thành bằng cách sử dụng các bộ chọn mà tôi đã cung cấp:

  • Xem lại trang kết xuất.
  • Chạy một bài kiểm tra trực tiếp.
  • Gửi trang cho chỉ mục.

Thực hiện phân tích

Sau khi chúng tôi để Chrome và Pyppeteer thực hiện công việc nặng nhọc cho chúng tôi, chúng tôi nên có dữ liệu lập chỉ mục cho các URL mà chúng tôi đã kiểm tra trong một danh sách các từ điển. Chúng ta có thể chuyển đổi chúng thành khung dữ liệu gấu trúc.

python3 -m pip install pyppeteer
5

Đây là những gì một ví dụ chạy trông như thế nào.

Với dữ liệu trong gấu trúc, chúng ta có thể cắt và xúc xắc nó để dễ dàng cô lập các lý do chính cho các trang bị thiếu từ chỉ số.

Chúng tôi cũng có thể xuất khung dữ liệu của mình sang Excel hoặc CSV để chia sẻ với các thành viên khác trong nhóm.

Tài nguyên để tìm hiểu thêm

Nếu bạn vẫn còn trên hàng rào về việc bạn có nên học Python hay không, tôi hy vọng rằng việc tự động hóa công việc hàng ngày của bạn sẽ khiến bạn thực sự hào hứng với các khả năng. Trí tưởng tượng và sáng tạo của bạn thực sự là giới hạn duy nhất.

Dưới đây là một số ví dụ, các thành viên cộng đồng đang chọn Python và thấy thành công lớn:

Nhờ bạn @hamletbatista, tôi đã chọn mã hóa Python trong 2 tuần và xây dựng một công cụ phân tích tệp nhật ký, lấy tất cả các bản ghi truy cập từ SFTP, giải nén chúng, lọc vào các lượt truy cập của Google (theo IP và tác nhân người dùng), xuất sang CSV và Tạo đồ thị với gấu trúc và matplotlib pic.twitter.com/giibt7qte0

-Moshe Ma-Yafit (@Napo789) ngày 2 tháng 3 năm 2019

Cuối cùng đã thêm Jupyter và Pandas vào quy trình làm việc của tôi sau khi nói chuyện Techseo Boost của @Hamletbatista. pic.twitter.com/yurtshqlkq

- Chris Johnson (@Deface) ngày 29 tháng 3 năm 2019

Bạn có thể theo dõi danh sách các chuyên gia SEO đang phát triển này để cập nhật những thứ Python mới nhất:

  • Jr oakes
  • Paul Shapiro
  • Britney Muller
  • Charley Wagnier
  • Nacho Cascort
  • Nick Duddy

Dưới đây là một số tài nguyên tôi thấy hữu ích khi nghiên cứu bài viết này:

  • Web cào với Puppeteer
  • JavaScript cho Pythonistas
  • Chức năng mũi tên JavaScript
  • Bộ chọn CSS

Nhiêu tai nguyên hơn:

  • Cách sử dụng Python để phân tích dữ liệu SEO: Hướng dẫn tham khảo
  • Tổ chức lại các trang web XML với Python để giải trí và lợi nhuận
  • Hướng dẫn đầy đủ về SEO: Những gì bạn cần biết trong năm 2019

Tín dụng hình ảnh

Tất cả các ảnh chụp màn hình được thực hiện bởi tác giả, tháng 4 năm 2019

Làm thế nào để bạn kiểm tra một yếu tố trong Python HTML?

Để kiểm tra một trang web, nhấp chuột phải ở bất cứ đâu trên trang và chọn 'Kiểm tra phần tử' / 'Xem nguồn trang'. Để xem vị trí của một thực thể cụ thể trên trang web như văn bản hoặc hình ảnh, hãy chọn phần đó trên trang web và sau đó nhấp chuột phải và chọn 'Kiểm tra phần tử' / 'Xem nguồn trang'.right click anywhere on the page and choose 'Inspect Element' / 'View Page Source' . To view the location of a particular entity on a webpage like text or image, select that portion on the webpage and then right click and choose 'Inspect Element' / 'View Page Source'.right click anywhere on the page and choose 'Inspect Element' / 'View Page Source' . To view the location of a particular entity on a webpage like text or image, select that portion on the webpage and then right click and choose 'Inspect Element' / 'View Page Source'.

Làm thế nào để bạn kiểm tra trang web?

Làm thế nào để kiểm tra các yếu tố. Để kiểm tra các phần tử, bạn phải nhấp chuột phải vào bất kỳ phần nào của trang web và nhấp vào Kiểm tra> Kiểm tra phần tử. Ngoài ra, bạn có thể nhấn Lệnh+Tùy chọn+I trên máy Mac hoặc F12 trên PC để làm như vậy. Mỗi trình duyệt web hiện đại có một công cụ gốc để kiểm tra các yếu tố.right-click any part of a webpage and click Inspect > Inspect Element. Alternatively, you can press Command+Option+i on your Mac or F12 on your PC to do the same. Every modern web browser has a native tool for inspecting elements.right-click any part of a webpage and click Inspect > Inspect Element. Alternatively, you can press Command+Option+i on your Mac or F12 on your PC to do the same. Every modern web browser has a native tool for inspecting elements.

Web Scraping trong Python là gì?

Quét web là một thuật ngữ được sử dụng để mô tả việc sử dụng chương trình hoặc thuật toán để trích xuất và xử lý một lượng lớn dữ liệu từ web.Cho dù bạn là nhà khoa học, kỹ sư hoặc bất kỳ ai phân tích số lượng lớn bộ dữ liệu, khả năng cạo dữ liệu từ web là một kỹ năng hữu ích cần có.a term used to describe the use of a program or algorithm to extract and process large amounts of data from the web. Whether you are a data scientist, engineer, or anybody who analyzes large amounts of datasets, the ability to scrape data from the web is a useful skill to have.a term used to describe the use of a program or algorithm to extract and process large amounts of data from the web. Whether you are a data scientist, engineer, or anybody who analyzes large amounts of datasets, the ability to scrape data from the web is a useful skill to have.

Làm cách nào để cạo một trang web bằng cách sử dụng phần tử kiểm tra?

Đầu tiên tải trang web bạn muốn cạo từ.Nhấp chuột phải vào trang và chọn Kiểm tra.Điều này sẽ tải HTML của trang web hiển thị trang điểm của trang web.Chọn công cụ ở phía trên bên trái của khung để làm nổi bật mã chịu trách nhiệm cho từng phần của trang web.Right click on the page and select inspect. This will load the HTML of the website which shows the make-up of the website. Select the tool at the top left of the pane to highlight the code responsible for each part of the web page.Right click on the page and select inspect. This will load the HTML of the website which shows the make-up of the website. Select the tool at the top left of the pane to highlight the code responsible for each part of the web page.