#获取新书推荐的所有图书的名称
for i in range(1,18):
/confirm/i_btn wait.until(
EC.element_to_be_clickable(
(By.CSS_SELECTOR, #newBook div.main div.tabs span:nth-child({}) .format(i)) # 定位按钮位置
/confirm/i_btn.click() # 执行点击操作
soup BeautifulSoup(driver.page_source, lxml ) # 解析网页
souped soup.select( div.new-book div.box a p ) # 定义目标原生
bookName [i.text for i in souped] # 获取书名
allbookName.extend(bookName)
print(allbookName)
print(len(allbookName))
time.sleep(2)
新书推荐的所有图书种类一共有17种 分别事是计算机、电子、科普、通信、摄影、经济、管理、金融与投资、成功/励志、心理学、设计、音乐、电影、美妆、生活、工业、绘画。每一种图书种类下面各有8本书 所以需要做个循环 循环17次。定位按钮位置 右击电子按钮 点击检查 查看此按钮对应的代码 把它的路径写下来 接着循环17次 这样爬虫就能自动翻页 爬取到所有的图书了。
定位到每一次的图书种类的按钮时 执行点击操作 使用 lxml解释器进行解析 然后使用select方法获取soup对象中的想要提取的目标路径 图书名称 以此获取书名 放入allbookName里 每循环一个图书种类获取到8本书后 休眠2秒再进行循环。
#保存为csv文件
data pd.Dataframe({ #将数据转为数据框形式
bookName :allbookName
data.to_csv( all_book.csv ,index None,encoding utf-8 ) #保存数据



