Sử dụng Selenium để scrape Web (phần 24)

Ví dụ 2 – các forms và tìm kiếm (tiếp tục)

Chú ý quan trọng
Người đọc và nhà phát triển sẽ thấy xử lí HTML form hoàn toàn dễ. Phương thức HTTP POST được đệ trình với dữ liệu
payload (username, password và csrf_token) nếu theo dấu sử dụng DevTools.
Có nhiều khối quotes <div> trên trang với phần tử phân trang
(driver.find_element(By.CSS_SELECTOR,’li.next a’).click()). quotes
nhận dạng mỗi khối riêng rẽ của quote định vị sử dụng find_elements(). Phân trang được quản lí sử dụng các giá trị
Boolean và dữ liệu yêu cầu hay lên kế hoạch được rút ra từ mỗi khối quote. Cuối cùng, dữ liệu được thêm cái thu thập
dataSet chính:

quotes = driver.find_elements(By.CSS_SELECTOR,
“div.row .quote”)
for quote in quotes: # Iterate quotes available
content =
quote.find_element(By.CSS_SELECTOR,’.text’).text
author =
quote.find_element(By.CLASS_NAME,”author”).text
authorLink =
quote.find_element(By.PARTIAL_LINK_TEXT,”about”)
.get_attribute(‘href’)
authorGoodread =
quote.find_element(By.PARTIAL_LINK_TEXT,”Goodread”)
.get_attribute(‘href’)
tags =
quote.find_element(By.TAG_NAME,’meta’)
.get_attribute(‘content’)
…….
# Add values to dataSet
dataSet.append([author, content, tags, tag_count,
authorLink, authorGoodread])

Với hoàn thành vòng lặp phân trang và các quotes từ mỗi trang, cuối cùng, hành động logout được thực hiện. Sau khi
logout, trình duyệt load trang http://quotes.toscrape.com/:

driver.get(logoutUrl)
print(f”Current URL: {driver.current_url}”)
http://quotes.toscrape.com/

Với dữ liệu trong tay hay trong cái thu thập dataSet chính, dữ liệu này có thể được viết như một CSV file (sử dụng
‘author’,’quote’,’tags’,’tag_count’,’author_url’, ‘goodread_url’] header) hay một JSON file. Cuối cùng, trình duyệt
đã load bởi WebDriver được đóng sử dụng driver.quit().
Các ví dụ web scraping trong phần này sử dụng các nhận dạng, định vị thuộc tính và phương thức từ thư viện selenium.
WebDriver là hiệu quả cho tự động hóa các nhiệm vụ, hoặc là lặp lại hoặc là không lặp lại. Test liên quan ứng dụng
Web là phổ biến nơi Selenium được sử dụng, nhưng chúng ta đã khám phá nó cho các mục đích scrape. Để khám phá
Selenium xa hơn, hãy khám phá nội dung và các links chia sẻ trong học phần này.

Chia sẻ