Quét web, khảo sát, bảng câu hỏi, nhóm tiêu điểm, v.v. , là một số cơ chế được sử dụng rộng rãi để thu thập dữ liệu chuyên sâu. Tuy nhiên, quét web được coi là phương pháp thu thập dữ liệu hiệu quả và đáng tin cậy nhất trong số tất cả các phương pháp này. Quét web, còn được gọi là trích xuất dữ liệu web, là một phương pháp tự động để lấy dữ liệu lớn từ các trang web. Nó xử lý HTML của trang web để trích xuất dữ liệu để thao tác, chẳng hạn như thu thập dữ liệu văn bản và lưu trữ vào một số khung dữ liệu hoặc trong cơ sở dữ liệu
- Bởi Vijaysinh Lendave
//www.naukri.com/data-scientist-jobs?k=data%20scientist']
Cạo dữ liệu
Sau khi mở trang web, bạn cần kiểm tra trang web bằng cách nhấp vào nút bên phải trên chuột; . Kiểm tra không là gì ngoài chế độ xem HTML của trang.
Hình ảnh dưới đây cho thấy cách theo dõi Xpath;
Thành phần được đánh dấu trong bảng điều khiển kiểm tra là mã HTML cho Chức danh Công việc; . Đường dẫn X có thể được lấy trực tiếp bằng cách nhấp chuột phải vào mã, bên dưới bản sao;
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
import pandas as pd
0Sau khi quan sát từng chức danh Công việc, bạn nhận thấy rằng tên lớp được liên kết với nó giống nhau, vì vậy bạn sẽ loại bỏ tiêu đề bằng cách sử dụng tên lớp như bên dưới,
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
import pandas as pd
0Vì vậy, bây giờ tất cả các tên Công việc được lưu trữ trong job_title, vì vậy chúng tôi cần trích xuất phần tử web đó bằng cách sử dụng. phương pháp văn bản cho mỗi tiêu đề như dưới đây;
title = []
for i in range[len[job_title]]:
title.append[job_title[i].text]
title
Danh sách tiêu đề hiển thị như dưới đây;
Cách tiếp cận tương tự có thể được áp dụng cho quan sát thứ hai của chúng tôi, tôi. e. công ty đang cung cấp công việc
Hãy cùng nhau thực hiện tất cả điều này, một tập lệnh tự động cung cấp cho bạn Khung dữ liệu chứa chức danh công việc và tên công ty có sẵn trên một trang cụ thể
driver = webdriver.Chrome[ChromeDriverManager[].install[]]
driver.maximize_window[]
driver.get['//www.naukri.com/data-scientist-jobs?k=data%20scientist']
jobs = driver.find_elements_by_xpath['//a[@class="title fw500 ellipsis"]']
company = driver.find_elements_by_xpath['//a[@class="subTitle ellipsis fleft"]']
title = []
for i in range[len[jobs]]:
title.append[jobs[i].text]
data = pd.DataFrame[title]
company_ = []
for i in range[len[company]]:
company_.append[company[i].text]
data['company'] = company_
data.to_csv['Job List.csv',index=False]
data
driver.close[]
Thu thập dữ liệu từ nhiều trang.
Phần này sẽ xem cách lấy dữ liệu từ nhiều trang; . com;
Đầu tiên, chúng tôi xác định một danh sách trống cho hai biến đó, trong đó nhận xét và id người dùng sẽ được thêm vào;
Để điều hướng giữa các trang, chúng tôi sẽ lấy xpath từ thanh phủ định của trang đó; .
user = []
commnent = []
#initialize the driver
driver = webdriver.Chrome[ChromeDriverManager[].install[]]
driver.maximize_window[]
# open the product page
url='//www.sephora.com/product/fresh-rose-hyaluronic-acid-deep-hydration-moisturizer-P471237?icid2=new%20arrivals:p471237:product'
driver.get[url]
Sau khi cuộn qua trang sẽ giống như dưới đây;
Để loại bỏ dữ liệu, hãy sử dụng bảng điều khiển kiểm tra để hiển thị xpath như hình ảnh bên dưới;
# scrape the data from page
comments = driver.find_elements_by_xpath['//div[@class="css-1x44x6f eanm77i0"]']
user_id = driver.find_elements_by_xpath['//strong[@data-at="nickname"]']
# append the data to list
for i in range[len[user_id]]:
user.append[user_id[i].text]
for i in range[len[comments]]:
commnent.append[comments[i].text]
Sau khi nối thêm dữ liệu, bạn có thể điều hướng trang tiếp theo và nối lại dữ liệu;
________số 8Sau khi thêm lượng dữ liệu mong muốn, chúng tôi có thể tạo khung dữ liệu từ nó trước và tệp CSV
Sau khi cạo tất cả dữ liệu, khung dữ liệu trông như trên;
Sự kết luận
Chúng tôi có cách cạo dữ liệu từ các trang web; . Cạo từ nhiều trang sẽ mất một chút thời gian, nhưng nó sẽ cho kết quả như mong đợi. Do đó, bạn có thể thực hiện nhiều kỹ thuật phân tích dữ liệu để rút ra những hiểu biết hữu ích và tạo ra các mô hình dự đoán từ chúng
Tài liệu tham khảo
- Máy tính xách tay Jupyter cho mã
- Tài liệu chính thức về Selenium
Nhiều câu chuyện AIM tuyệt vời hơn
9 công cụ tốt nhất dành cho nhà phát triển Python
Tại sao không ai coi trọng AI sáng tạo?
Chính phủ Meta-Ấn Độ chôn cất chiếc rìu, đoàn kết vì đổi mới AI
7 lựa chọn thay thế ChatGPT hàng đầu
CEAT được chứng nhận là Công ty tốt nhất cho các nhà khoa học dữ liệu
Vijaysinh là một người đam mê học máy và học sâu. Anh ấy có kỹ năng về các thuật toán ML, thao tác dữ liệu, xử lý và trực quan hóa, xây dựng mô hình