鱼C论坛

 找回密码
 立即注册
查看: 1331|回复: 0

[技术交流] 爬取当当电子书排名

[复制链接]
发表于 2021-8-3 15:59:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. from selenium import webdriver
  2. import time
  3. from bs4 import BeautifulSoup
  4. import re
  5. from openpyxl import Workbook

  6. browser = webdriver.Firefox(executable_path="C:\\Program Files\\Mozilla Firefox\\geckodriver.exe")
  7. #   保存到表格
  8. wb = Workbook()
  9. ws = wb.active
  10. ws.title = "Sheet1"
  11. Project = [
  12.     '排名','书名','作者','价格','内容介绍'

  13. ]
  14. for i in range(len(Project)):
  15.     ws.cell(1, i + 1, Project[i])
  16. url = 'http://e.dangdang.com/rank_detail_page.html?listType=ddds_sale&channelType=all'
  17. browser.get (url)
  18. time.sleep(3)
  19. browser.find_element_by_xpath('//div[contains(text(),"新书榜")]').click()
  20. [hide]time.sleep(5)
  21. for i in range(10):
  22.     browser.execute_script('window.scrollTo(0,document.body.scrollHeight)')
  23.     time.sleep(3)
  24. html = browser.page_source
  25. bs4_html = BeautifulSoup(html,'html.parser')
  26. n = 2
  27. for d in bs4_html.find_all(class_='book'):
  28.     f = []
  29.     index = re.sub('、','',d.find(class_='index').text)
  30.     BookName = d.find(class_='tit').text
  31.     monye = re.findall('¥[0-9].*',d.find(class_='price').text)
  32.     book = d.find(class_='auth').text
  33.     summury = d.find(class_='summury').text
  34.     f.append(index)
  35.     f.append(BookName)
  36.     f.append(book)
  37.     f.append(monye[0])
  38.     f.append(summury)
  39.     for i in range(len(f)):
  40.         ws.cell(n, i + 1, str(f[i]))
  41.         wb.save("当当网电子书新书排名.xlsx")
  42.     n +=1
复制代码
[/hide][/hide]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-26 15:09

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表