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

Ví dụ 1- thông tin sách (tiếp tục)

Biến articleLink chứa giá trị href cái liên kết với trang chi tiết của book cụ thể. Một vài thông tin là có sẵn
chỉ trên trang chi tiết, như UPC và Availability (stock status, quantity). Một cái định vị XPath cũng được sử dụng.
Ví dụ, //th[contains(text(),’UPC’)]/following-sibling::td trỏ tới phần tử <td>, cái là có sẵn sau <th>..</th>, chứa
text UPC. Hãy tham khảo phần Introducing XPath and CSS selectors to process markup documents của các học phần trước.

if articleLink:

listing.find_element(By.TAG_NAME,’img’).click()
upc = driver.find_element(By.XPATH,

“//th[contains(text(),’UPC’)]/
following-sibling::td”).text

stockQty= driver.find_element(By.XPATH,

“//th[contains(text(),’Availability’)]/
following-sibling::td”).text

Cho tới giờ, code sẽ thu thập thông tin từ mỗi quyển sách có sẵn trong các liệt kê và load trang chi tiết. Dữ
liệu thu thập từ các liệt kê và trang chi tiết được làm sạch, tiền xử lí sử dụng các phương thức Python strip() và
replace(), và thêm vào một cái thu thập tạm thời hay temp list. Cuối cùng, temp được thêm vào cái thu thập dataSet
chính:

temp = [upc, title, price,

rating.replace(‘star-rating’,”).strip(),
stockQty.split(‘(‘)[0].strip(),
stockQty.split(‘(‘)[1].replace(‘available’, ”)
.replace( ‘)’, ”).strip(), articleLink, imageSrc]

dataSet.append(temp) # append temp list details to main dataSet.

Chú ý quan trọng
strip() làm sạch hay loại bỏ các khoảng trắng thêm từ trái và phải của một string. replace() được sử dụng để thay
thế một kí tự với thứ gì đó khác. Phương thức append() của Python s list() được sử dụng để thêm/ đẩy các phần tử
vào Python list() object hiện tại. Hãy tham khảo https://docs.python.org/3/library/index.html cho các chi tiết hơn.

Chia sẻ