Cạo trong python là gì?

Tìm kiếm công cụ dọn dẹp trang web Python? . Bạn sẽ tìm thấy các công cụ và nguồn cảm hứng để bắt đầu dự án quét web tiếp theo của mình

Quét web là quá trình trích xuất thông tin từ mã nguồn của trang web. Đây có thể là văn bản, dữ liệu số hoặc thậm chí là hình ảnh. Đó là bước đầu tiên cho nhiều dự án thú vị. Tuy nhiên, không có công nghệ hoặc phương pháp cố định nào để quét web Python. Cách tiếp cận tốt nhất phụ thuộc rất nhiều vào trường hợp sử dụng

Bài viết này dành cho những người có thêm một chút kinh nghiệm về Python và phân tích dữ liệu. Nếu bạn là người mới sử dụng Python và cần một số tài liệu học tập, hãy xem bản nhạc này để cung cấp cho bạn kiến ​​thức cơ bản về phân tích dữ liệu

Bắt đầu nào

yêu cầu

Bước đầu tiên trong quy trình là lấy dữ liệu từ trang web mà chúng tôi muốn cạo. Thư viện yêu cầu được sử dụng để thực hiện các yêu cầu HTTP tới một URL

Ví dụ: giả sử chúng tôi muốn nhận một bài báo từ learnpython. blog com. Để nhập thư viện và lấy trang chỉ cần một vài dòng mã

>>> import requests
>>> url = '//learnpython.com/blog/python-match-case-statement/'
>>> r = requests.get[url]

Đối tượng r là phản hồi từ máy chủ lưu trữ và chứa kết quả của yêu cầu get[]. Để xem yêu cầu có thành công hay không, hãy kiểm tra trạng thái bằng r. status_code. Hy vọng rằng chúng ta không thấy lỗi 404 đáng sợ. Có thể tùy chỉnh yêu cầu get[] với một số đối số tùy chọn để sửa đổi phản hồi từ máy chủ. Để biết thêm thông tin về thư viện này, bao gồm cách gửi yêu cầu tùy chỉnh, hãy xem tài liệu và hướng dẫn sử dụng

Để lấy nội dung của trang web, chúng ta chỉ cần làm như sau

>>> page_text = r.text

Điều này trả về nội dung của toàn bộ trang dưới dạng một chuỗi. Từ đây, chúng tôi có thể cố gắng trích xuất thông tin cần thiết theo cách thủ công, nhưng điều đó rất lộn xộn và dễ bị lỗi. Rất may, có một cách dễ dàng hơn

súp đẹp

Beautiful Soup là một thư viện thân thiện với người dùng có chức năng tự động phân tích cú pháp các tài liệu HTML và XML thành cấu trúc cây. Thư viện này chỉ phân tích dữ liệu, đó là lý do tại sao chúng ta cần một thư viện khác để lấy dữ liệu như chúng ta đã thấy trong phần trước

Thư viện cũng cung cấp các chức năng để điều hướng, tìm kiếm và sửa đổi dữ liệu được phân tích cú pháp. Việc thử các chiến lược phân tích cú pháp khác nhau rất dễ dàng và chúng tôi không cần phải lo lắng về mã hóa tài liệu

Chúng tôi có thể sử dụng thư viện này để phân tích chuỗi định dạng HTML từ dữ liệu chúng tôi đã truy xuất và trích xuất thông tin chúng tôi muốn. Hãy nhập thư viện và bắt đầu nấu súp

>>> from bs4 import BeautifulSoup
>>> soup = BeautifulSoup[page_text, 'html.parser']

Bây giờ chúng ta có một đối tượng

>>> from bs4 import BeautifulSoup
>>> soup = BeautifulSoup[page_text, 'html.parser']
0, đại diện cho chuỗi dưới dạng cấu trúc dữ liệu lồng nhau. Cách tiếp tục từ đây tùy thuộc vào thông tin chúng tôi muốn thu thập từ trang. Đó có thể là văn bản, đoạn mã, tiêu đề hoặc bất kỳ thứ gì khác

Để hiểu cách thông tin được trình bày, hãy mở URL trong trình duyệt yêu thích của bạn và xem mã nguồn đằng sau trang web. Nó trông giống như thế này

Giả sử chúng ta muốn cạo các đoạn mã Python khỏi mã nguồn HTML. Lưu ý rằng chúng luôn xuất hiện giữa

>>> from bs4 import BeautifulSoup
>>> soup = BeautifulSoup[page_text, 'html.parser']
1 và
>>> page_text = r.text
0. Chúng ta có thể sử dụng mã này để trích xuất mã Python từ súp như sau

>>> string = soup.find[class_ = "brush: python; title: ; notranslate"].text

Ở đây, chúng tôi sử dụng phương pháp

>>> page_text = r.text
1, chỉ trích xuất kết quả khớp đầu tiên. Nếu bạn muốn tìm tất cả các kết quả phù hợp, hãy sử dụng
>>> page_text = r.text
2 để trả về cấu trúc dữ liệu dạng danh sách có thể được lập chỉ mục như bình thường

Bây giờ, chúng ta có đoạn mã dưới dạng chuỗi bao gồm các ký tự xuống dòng và khoảng trắng để thụt lề mã. Để chạy mã này, chúng tôi phải làm sạch mã một chút để loại bỏ các ký tự không mong muốn và lưu mã vào một. tập tin py. Ví dụ: chúng ta có thể sử dụng

>>> page_text = r.text
3 để xóa các ký tự
>>> page_text = r.text
4

Kiểm tra bài viết này, trong đó có một ví dụ có thể hữu ích ở giai đoạn này. Viết một chương trình để tải xuống và chạy các chương trình khác mang lại cảm giác đệ quy tuyệt vời cho nó. Tuy nhiên, hãy cảnh giác với việc tải xuống bất kỳ mã độc tiềm ẩn nào

selen

Selenium được phát triển chủ yếu như một khuôn khổ để thử nghiệm và tự động hóa trình duyệt. Tuy nhiên, thư viện đã tìm thấy một cách sử dụng khác như một hộp công cụ để quét web bằng Python, khiến nó trở nên khá linh hoạt. Ví dụ: sẽ hữu ích nếu chúng ta cần tương tác với một trang web bằng cách điền vào biểu mẫu hoặc nhấp vào nút. Selenium cũng có thể được sử dụng để lấy thông tin từ JavaScript được nhiều trang web sử dụng để tải nội dung động

Hãy sử dụng Selenium để mở trình duyệt, điều hướng đến một trang web, nhập văn bản vào một trường và truy xuất một số thông tin. Tuy nhiên, trước khi làm tất cả những điều đó, chúng tôi cần tải xuống một tệp thực thi bổ sung để điều khiển trình duyệt. Trong ví dụ này, chúng tôi sẽ làm việc với trình duyệt Chrome, nhưng có các tùy chọn khác. Bạn có thể tìm trình điều khiển cho phiên bản Chrome của mình tại đây. Tải xuống trình điều khiển chính xác và lưu nó vào

>>> page_text = r.text
5

Để mở trình duyệt bằng Selenium trong Python, hãy làm như sau

>>> page_text = r.text
0

Thao tác này sẽ mở một cửa sổ trình duyệt, điều hướng đến

>>> page_text = r.text
6 và phóng to cửa sổ. Bước tiếp theo là tìm và nhấp vào nút "Khóa học"

>>> page_text = r.text
2

Trình duyệt điều hướng đến trang Khóa học. Hãy tìm hộp tìm kiếm và nhập cụm từ tìm kiếm

>>> page_text = r.text
3

Kết quả tự động cập nhật. Tiếp theo, chúng tôi muốn tìm kết quả đầu tiên và in ra tên khóa học

>>> page_text = r.text
4

Chúng tôi sử dụng

>>> from bs4 import BeautifulSoup
>>> soup = BeautifulSoup[page_text, 'html.parser']
0 để phân tích cú pháp HTML từ kết quả tìm kiếm đầu tiên và sau đó trả về tên của khóa học dưới dạng chuỗi. Nếu chúng tôi muốn chạy mã này trong một khối, có thể cần phải để chương trình ngủ trong vài giây để trang tải đúng cách. Hãy thử quy trình làm việc này với cụm từ tìm kiếm khác, chẳng hạn như "chuỗi" hoặc "khoa học dữ liệu"

Để làm tất cả điều này cho dự án của riêng bạn, bạn cần kiểm tra mã nguồn của trang web để tìm tên hoặc ID có liên quan của các thành phần mà bạn muốn tương tác. Điều này luôn phụ thuộc vào trường hợp sử dụng và liên quan đến một chút công việc điều tra

phế liệu

Không giống như hai thư viện trước,

>>> page_text = r.text
8 rất nhanh và hiệu quả. Điều này làm cho nó hữu ích cho việc thu thập một lượng lớn dữ liệu từ web – một lợi thế lớn của thư viện này. Nó cũng xử lý việc cạo và phân tích dữ liệu

Tuy nhiên, nó không phải là thư viện thân thiện với người dùng nhất từng được viết. Thật khó để có được đầu của bạn xung quanh nó. Cũng khó để chỉ ra một ví dụ đơn giản ở đây

Quy trình sử dụng

>>> page_text = r.text
8 liên quan đến việc tạo một dự án chuyên dụng trong một thư mục riêng biệt, nơi một số tệp và thư mục được tạo tự động. Bạn có thể muốn xem khóa học trên LearnPython. com hướng dẫn bạn cách làm việc với tệp và thư mục một cách hiệu quả

Một trong những thư mục được tạo là thư mục "spiders/" mà bạn đặt các trình thu thập thông tin của mình vào đó. Spider là lớp kế thừa từ lớp

>>> from bs4 import BeautifulSoup
>>> soup = BeautifulSoup[page_text, 'html.parser']
0. Chúng xác định những yêu cầu cần thực hiện, cách theo dõi bất kỳ liên kết nào trên trang web và cách phân tích nội dung. Khi bạn đã xác định trình thu thập thông tin của mình để thu thập dữ liệu trang web và trích xuất nội dung, bạn có thể chạy tập lệnh của mình từ thiết bị đầu cuối. Hãy xem bài viết này để tìm hiểu thêm về cách sử dụng Python và giao diện dòng lệnh

Một tính năng mạnh mẽ khác của

>>> page_text = r.text
8 là đăng nhập tự động. Đối với một số trang web, chúng tôi chỉ có thể truy cập dữ liệu sau khi đăng nhập thành công, nhưng chúng tôi có thể tự động hóa việc này bằng
>>> from bs4 import BeautifulSoup
>>> soup = BeautifulSoup[page_text, 'html.parser']
2

Đọc qua trang tài liệu phế liệu để biết thêm thông tin. Ở đó, bạn tìm thấy hướng dẫn cài đặt và ví dụ về hoạt động của thư viện này

Từ đâu đến đây trong Web Scraping?

Chúng ta đã thấy kiến ​​thức cơ bản về quét web bằng Python và thảo luận về một số thư viện phổ biến. Quét web có một số lượng lớn các ứng dụng. Bạn có thể muốn trích xuất văn bản từ Wikipedia để sử dụng cho quá trình xử lý ngôn ngữ tự nhiên. Bạn có thể muốn tự động nhận dự báo thời tiết cho quê hương của mình. Bạn thậm chí có thể viết một chương trình để so sánh giá của các chuyến bay hoặc khách sạn trước kỳ nghỉ tiếp theo của bạn

Có nhiều lợi thế khi sử dụng Python cho các dự án khoa học dữ liệu. Nói chung, nên bắt đầu với một dự án nhỏ và từ từ xây dựng kỹ năng của bạn. Nếu bạn phát triển các dự án phức tạp hơn với nhiều thư viện, hãy theo dõi chúng với yêu cầu. tập tin txt. Trước khi bạn biết điều đó, bạn sẽ thành thạo một kỹ năng khác trong hành trình Python của mình

Cạo dùng để làm gì?

Cạo là kỹ thuật điều trị sử dụng các công cụ cho phép bác sĩ lâm sàng xác định vị trí và điều trị hiệu quả tình trạng căng và tổn thương mô mềm . Các dụng cụ cạo giúp phá vỡ các chất kết dính này và khôi phục khả năng vận động bình thường của mô, giống như bất kỳ hình thức vận động mô mềm hoặc xoa bóp mô sâu nào khác.

Việc cạo dữ liệu có nghĩa là gì?

Xoá dữ liệu liên quan đến việc lấy thông tin ra khỏi trang web và đưa vào bảng tính . Đối với một máy quét dữ liệu chuyên dụng, phương pháp này là một cách hiệu quả để thu thập rất nhiều thông tin để phân tích, xử lý hoặc trình bày.

Cạo trong lập trình là gì?

Xoá dữ liệu là kỹ thuật trong đó chương trình máy tính trích xuất dữ liệu từ đầu ra mà con người có thể đọc được đến từ một chương trình khác .

Chủ Đề