【发布时间】:2020-11-18 10:51:56
【问题描述】:
我正在尝试从给定的 URL 中抓取书籍的评论。我需要书名和每条评论在单独的行中。以下是我的代码。我同时使用硒和bs4。如果我不遵守帖子指南,任何反馈都将不胜感激并诚挚道歉,因为我对这个门户网站相对较新!
from selenium.webdriver import Firefox
browser = Firefox()
url ="https://www.booksaremagic.net/?q=h.tviewer&using_sb=status"
browser.get(url)
detailed_list = browser.find_element_by_xpath("//div[@title='Detailed']")
detailed_list.click()
books1 = []
for i in range(1,201):
page_source1 = browser.page_source
soup1 = BeautifulSoup(page_source1, "html.parser")
for book1 in soup1.find_all('td',{"nbr ca"}):
browser.find_element_by_tag_name('a[class="lightgrey bordered button moreinfo togsrus"]').click()
browser.find_element_by_xpath("//*[@id='tabber_obj_0_div_3']").click()
reviews = browser.find_element_by_id('tabber_obj_0_divbody_3').text
all_books_scraped1 = [reviews]
books1.append(all_books_scraped1)
print("Finished Extracting Page:",i)
try:
select = Select(browser.find_element_by_class_name('quicknav'))
select.select_by_value(str(i))
except:
print("\nScraping Complete...")
输出应该是 df :
(Cols)书评 (行)Book1 评论 1 Book1 评论 2 Book1 评论 N . . . Book9918 评论 N
【问题讨论】:
标签: python selenium web-scraping beautifulsoup