Nhấp đúp vào selen python

Đôi khi chúng ta cần trích xuất thông tin từ các trang web. Chúng tôi có thể trích xuất dữ liệu từ các trang web bằng cách sử dụng API có sẵn. Nhưng có những trang web không có API

Tại đây, tính năng quét web phát huy tác dụng

Python đang được sử dụng rộng rãi trong việc quét web, vì nó cung cấp sự dễ dàng trong việc viết logic cốt lõi. Cho dù bạn là nhà khoa học dữ liệu, nhà phát triển, kỹ sư hay người làm việc với lượng dữ liệu lớn, việc quét web bằng Python đều giúp ích rất nhiều

Nếu không có cách trực tiếp để tải xuống dữ liệu, bạn chỉ còn lại công việc quét web bằng Python vì nó có thể trích xuất lượng dữ liệu khổng lồ mà không gặp bất kỳ rắc rối nào và trong một khoảng thời gian ngắn.  

Trong hướng dẫn này, chúng ta sẽ xem xét việc cạo bằng một số thư viện dựa trên Python rất mạnh như BeautifulSoup và Selenium.

BeautifulSoup và urllib

BeautifulSoup là một thư viện Python để lấy dữ liệu ra khỏi các tệp HTML và XML. Nhưng nó không lấy dữ liệu trực tiếp từ một trang web. Vì vậy, ở đây chúng tôi sẽ sử dụng thư viện urllib để trích xuất trang web

Trước tiên, chúng ta cần cài đặt plugin BeautifulSoup4 quét web Python trong hệ thống của mình bằng lệnh sau

$ sudo pip install BeatifulSoup4

$ pip install lxml

HOẶC

$ sudo apt-get install python3-bs4

$ sudo apt-get install python-lxml

Vì vậy, ở đây tôi sẽ trích xuất trang chủ từ một trang web https. //www. công nghệ thực vật. com

from urllib.request import urlopen

từ bs4 nhập BeautifulSoup

Chúng tôi nhập gói mà chúng tôi sẽ sử dụng trong chương trình của mình. Bây giờ chúng tôi sẽ trích xuất trang web của mình bằng cách sử dụng sau

response = urlopen['//www.botreetechnologies.com/case-studies']

Beautiful Soup không lấy dữ liệu trực tiếp từ nội dung mà chúng tôi vừa trích xuất. Vì vậy, chúng tôi cần phân tích nó trong dữ liệu html/XML

data = BeautifulSoup[response.read[],'lxml']

Ở đây chúng tôi đã phân tích nội dung html trang web của mình thành XML bằng cách sử dụng trình phân tích cú pháp lxml

Như bạn có thể thấy trên trang web của chúng tôi, có rất nhiều nghiên cứu điển hình. Tôi chỉ muốn đọc tất cả các nghiên cứu điển hình có sẵn ở đây

Có một tiêu đề nghiên cứu trường hợp ở trên cùng và sau đó là một số chi tiết liên quan đến trường hợp đó. Tôi muốn trích xuất tất cả thông tin đó

Chúng tôi có thể trích xuất một phần tử dựa trên thẻ, lớp, id, Xpath, v.v.

Bạn có thể lấy lớp của một phần tử bằng cách nhấp chuột phải vào phần tử đó và chọn kiểm tra phần tử

case_studies = data.find["div", { "class" : "content-section" }]

Trong trường hợp có nhiều phần tử của lớp này trong trang của chúng tôi, nó sẽ chỉ trả về đầu tiên. Vì vậy, nếu bạn muốn lấy tất cả các phần tử có lớp này, hãy sử dụng phương thức findAll[]

case_studies = data.find["div", { "class" : "content-section" }]

Now we have div having class ‘content-section’ containing its child elements. We will get all

tags to get our ‘TITLE’ and
    tag to get all children, the $ pip install lxml0 elements.

    $ pip install lxml1

    case_stud_details = case_stud. tìm ['ul']. findAll['li']

    Bây giờ chúng ta có danh sách tất cả con của phần tử $ pip install lxml2

    Để lấy phần tử đầu tiên từ danh sách con, chỉ cần viết

    $ pip install lxml3

    Chúng ta có thể trích xuất tất cả các thuộc tính của một phần tử. tôi. e chúng ta có thể lấy văn bản cho phần tử này bằng cách sử dụng

    $ pip install lxml4

    Nhưng ở đây tôi muốn nhấp vào 'TITLE' của bất kỳ nghiên cứu điển hình nào và mở trang chi tiết để lấy tất cả thông tin

    Vì chúng tôi muốn tương tác với trang web để có được nội dung động, chúng tôi cần bắt chước tương tác bình thường của người dùng. Hành vi như vậy không thể đạt được bằng cách sử dụng BeautifulSoup hoặc urllib, do đó chúng tôi cần một webdriver để thực hiện việc này

    Webdriver về cơ bản tạo ra một cửa sổ trình duyệt mới mà chúng ta có thể kiểm soát một cách thực dụng. Nó cũng cho phép chúng tôi nắm bắt các sự kiện của người dùng như nhấp và cuộn

    Selenium là một webdriver như vậy

    Trình quản lý web Selenium

    Selenium webdriver chấp nhận lệnh và gửi chúng đến trình duyệt và lấy kết quả

    Bạn có thể cài đặt selen trong hệ thống của mình bằng lệnh đơn giản sau

    $ pip install lxml5

    Để sử dụng, chúng tôi cần nhập selen trong tập lệnh Python của mình

    từ Selenium nhập webdriver

    Tôi đang sử dụng Firefox webdriver trong hướng dẫn này. Bây giờ chúng tôi đã sẵn sàng trích xuất trang web của mình và chúng tôi có thể thực hiện việc này bằng cách sử dụng fthe sau

    $ pip install lxml6

    bản thân. trình duyệt = webdriver. firefox[]

    Bây giờ chúng ta cần nhấp vào 'Case-STUDIES' để mở trang đó

    Chúng ta có thể nhấp vào phần tử selen bằng cách sử dụng đoạn mã sau

    $ pip install lxml7

    Bây giờ chúng tôi được chuyển sang trang nghiên cứu điển hình và ở đây tất cả các nghiên cứu điển hình được liệt kê cùng với một số thông tin

    Ở đây, tôi muốn nhấp vào từng nghiên cứu điển hình và mở trang chi tiết để trích xuất tất cả thông tin có sẵn

    Vì vậy, tôi đã tạo một danh sách các liên kết cho tất cả các nghiên cứu điển hình và tải chúng lần lượt từng cái một

    Để tải trang trước, bạn có thể sử dụng đoạn mã sau

    $ pip install lxml8

    Kịch bản cuối cùng để sử dụng Selenium sẽ như sau

    Và chúng ta đã hoàn tất, Bây giờ bạn có thể trích xuất các trang web tĩnh hoặc tương tác với các trang web bằng đoạn mã trên

    Phần kết luận. Web Scraping Python là một kỹ năng thiết yếu cần có

    Ngày nay, hơn bao giờ hết, các công ty đang làm việc với lượng dữ liệu khổng lồ. Học cách cạo dữ liệu trong các dự án cạo web Python sẽ đưa bạn đi một chặng đường dài. Trong hướng dẫn này, bạn học quét web bằng Python với món súp tuyệt đẹp.  

    Cùng với đó, quét web Python với Selenium cũng là một kỹ năng hữu ích. Các công ty cần các kỹ sư dữ liệu có thể trích xuất dữ liệu và cung cấp cho họ để thu thập những hiểu biết hữu ích. Bạn có cơ hội thành công cao trong việc trích xuất dữ liệu nếu bạn đang làm việc trên các dự án quét web Python

    Nếu bạn muốn thuê các nhà phát triển Python để quét web, hãy liên hệ với BoTree Technologies. Chúng tôi có một đội ngũ kỹ sư là những chuyên gia trong lĩnh vực cạo web. Gọi cho chúng tôi ngay hôm nay

Chủ Đề