Nhận liên kết Python BeautifulSoup

BeautifulSoup là thư viện Python của bên thứ ba được sử dụng để phân tích dữ liệu từ các trang web. Nó giúp quét web, đây là một quá trình trích xuất, sử dụng và thao tác dữ liệu từ các tài nguyên khác nhau

Quét web cũng có thể được sử dụng để trích xuất dữ liệu cho mục đích nghiên cứu, hiểu/so sánh xu hướng thị trường, thực hiện giám sát SEO, v.v.

Có thể chạy dòng dưới đây để cài đặt BeautifulSoup trên Windows -

pip install beautifulsoup4

Sau đây là một ví dụ -

Thí dụ

from bs4 import BeautifulSoup
import requests
url = "//en.wikipedia.org/wiki/Algorithm"
req = requests.get[url]
soup = BeautifulSoup[req.text, "html.parser"]
print["The href links are :"]
for link in soup.find_all['a']:
   print[link.get['href']]

đầu ra

The href links are :
…
//stats.wikimedia.org/#/en.wikipedia.org
//foundation.wikimedia.org/wiki/Cookie_statement
//wikimediafoundation.org/
//www.mediawiki.org/

Giải trình

  • Các gói cần thiết được nhập và đặt bí danh

  • Trang web được xác định

  • URL được mở và dữ liệu được đọc từ đó

  • Chức năng 'BeautifulSoup' được sử dụng để trích xuất văn bản từ trang web

  • Chức năng 'find_all' được sử dụng để trích xuất văn bản từ dữ liệu trang web

  • Các liên kết href được in trên bảng điều khiển

//mailchi.mp/comnetwork/16may2018"]

Lấy tất cả các liên kết từ tất cả các trang
Bước cuối cùng là lấy tất cả các liên kết trên tất cả các trang bản tin đó và lưu chúng vào tệp văn bản.

for link in archive_links:
page = requests.get[link]
soup = BeautifulSoup[page.content, "html.parser"]
for a_href in soup.find_all["a", href=True]:
with open["newsletter_links.txt", "a"] as linkfile:
linkfile.write[a_href["href"]+"\n"]

Sử dụng vòng lặp for để duyệt qua danh sách. Lấy html từ mỗi trang. Tìm tất cả các liên kết. Và viết chúng vào một tập tin văn bản

Lưu ý rằng tôi sử dụng open để ghi tệp văn bản. With được khuyên dùng vì nó tự động đóng tệp khi hoàn thành. Có một chữ "a" ở phần mở vì tôi đang nối thêm từng liên kết và không ghi đè lên. “\n” là ký tự dòng mới. Nó đặt mỗi liên kết trên một dòng riêng biệt

Tại thời điểm này bản tin_links. txt nếu chứa đầy tất cả các liên kết từ tất cả các bản tin, kể cả những thứ tôi không cần. Vì vậy, tôi đã đi vào tập tin văn bản. Sắp xếp các liên kết. Và xóa bất cứ thứ gì mà tôi không muốn

Bạn có thể xem video hướng dẫn đầy đủ về quy trình của tôi tại đây

Nếu bạn yêu thích trăn và bạn biết mình yêu thích, hãy xem trang web tham khảo Pyspark của tôi và các câu chuyện phương tiện khác của tôi

Chủ Đề