'''
http://category.dangdang.com/cp01.03.51.00.00.00.htmlget这些书都在一个个的li标签里,先获取所有的li,再分别对每一个li进行xpath提取,可以避免要提取的字段是空最后数据错位的情况第二页  http://category.dangdang.com/pg2-cp01.03.51.00.00.00.html
第三页  http://category.dangdang.com/pg3-cp01.03.51.00.00.00.html
'''
import requests
from lxml import etree# 处理空数据
def get_result(mstr) -> str:if mstr:    # 不是空return  mstr[0] # xpath处理的是列表,返回字符串else:return None# 取前十页
for i in range(1,11):if i == 1:res = requests.get(f'http://category.dangdang.com/cp01.03.51.00.00.00.html')else:res = requests.get(f'http://category.dangdang.com/pg{i}-cp01.03.51.00.00.00.html')# 将字符串节点化html = etree.HTML(res.text)li_list = html.xpath('//ul[@class="bigimg"]/li')# 遍历每一个li,即每一本书for li in li_list:# 加 . 是当前li开始提取title = get_result(li.xpath('.//a[@name="itemlist-title"]/@title'))   # 标题price = get_result(li.xpath('.//span[@class="search_now_price"]/text()'))    # 售价e_price = get_result(li.xpath('.//a[@class="search_e_price"]/i/text()'))     # 电子书价格author = get_result(li.xpath('.//a[@name="itemlist-author"]/text()'))        # 作者publish_time = get_result(li.xpath('//p[@class="search_book_author"]/span[2]/text()'))  # 出版日期press = get_result(li.xpath('.//a[@name="P_cbs"]/text()'))   # 出版社evaluate = get_result(li.xpath('.//span[@class="search_star_black"]/span/@style'))   # 评价星级e_nums = get_result(li.xpath('.//a[@name="itemlist-review"]/text()'))    # 评论条数details = get_result(li.xpath('.//p[@class="detail"]/text()'))   # 详情img_url = get_result(li.xpath('.//a[@name="itemlist-picture"]/img/@data-original | .//a[@name="itemlist-picture"]/img/@src'))    # 图片链接with open('当当网历史书前十页.txt', 'a', encoding='utf-8') as fw:fw.write(f'''
书名:{title}
纸质价格:{price}
电子书价格:{e_price}
作者:{author}
出版时间:{publish_time}
出版社:{press}
评价星级:{evaluate}
评论条数:{e_nums}
详情:{details}
图片链接:{img_url}
{'=' * 100}''')

xpath提取当当网数学书前十页信息相关推荐

  1. python一键获取豆瓣租房小组前十页信息,并导入EXCEL(Xpath法)

    #encoding=utf-8 模块导入 import requests from lxml import etree import xlwt import urllib.request 主程序 de ...

  2. selenium获取当当网python书籍前三页

    1.配置好selenium环境,selenium环境配置地址如下: https://blog.csdn.net/liaoqingjian/article/details/116785445?spm=1 ...

  3. 豆瓣图书短评爬取(其中一本书的短评<前十页>)

    目标图书是"流浪地球"(只是一个图书编号不同) 爬取前十页,包括评论人员的名称.评论日期.评论等级.被赞个数.评论内容. 先看运行结果: (由于输出比较多直截首尾的图): 直接上代 ...

  4. Scrapy爬取当当网图书销售前100

    scrapy爬取当当网图书畅销榜 一.采集任务 爬取当当网图书畅销榜信息,获取热销图书前500相关数据. 二.网页解析 1. 打开当当网,按照图书榜>图书畅销榜 进入当当网图书畅销榜[http: ...

  5. 当当网买书薅羊毛攻略(附大数据学习用书)

    开学季 当当网计算机图书大促 >> 每满100减50  << 满200减100 满300减150 满400减200 不止如此!秉持绝不让大家多花一分钱的精神 机械工业出版社华章 ...

  6. 【练习】爬取当当网中的好评榜图书信息,显示并保存为excel文件

    声明: 1. 学生刚开始学习爬虫,代码会有很多不严谨,也较为粗糙,单纯用于广大网友参考,希望能起到一定的帮助 2. 如果要转载,请标记出来源 3.本文纯粹用于技术练习,请勿用作非法途径 做题途中所遇问 ...

  7. 使用Xpath提取猫眼电影标题,演员及剧情信息

    from lxml import etree import requests from time import sleep import os from fake_useragent import U ...

  8. 爬取豆瓣电影前十页的好评一般差评

    分析一波 爬取的地址:https://movie.douban.com/subject/26588308/comments 分别找出好评.一般.差评的评论: 通过地址栏分析,评论的类型和percent ...

  9. 针对当当网畅销书籍榜单前500的研究分析

    目录 第一章 项目介绍 第二章 项目组织与项目计划 第三章 数据采集. 3.1 数据采集目标. 3.2 数据采集工具与方法. 3.3 数据采集流程 3.4 数据采集保存 3.5 本章小结 第四章 数据 ...

最新文章

  1. sqlite+php+函数大全,PHP SQLite SQLite 函数_编程学问网
  2. 编译选项—微软官方+各地总结
  3. docker容器运行mysql持久化_OS x下使用Docker 持久化Mysql 数据出现问题
  4. 前端学习(2949):创建webpack搭建项目
  5. 实用MYSQL语句收集
  6. c语言有趣代码_为什么C语言永远不会过时?
  7. druid链接mysql-proxy_MySQL读写分离之mysql-proxy
  8. 为什么公司宁愿 25K 重新招人,也不给你加到 20K?原因太现实……
  9. 【阙值分割】基于matlab粒子群算法自适应多阈值图像分割【含Matlab源码 1459期】
  10. Linux服务器开发学习方法
  11. 命令创建vue项目工程
  12. eclipse如何修改项目的jdr或jre版本
  13. 消费者生产者问题,哲学家问题
  14. 最全iOS12捷径库收集整理,iOS12捷径推荐
  15. 【xinfanqie】熟知针式与喷墨打印机之间的区别
  16. 百度地图开发 —— 去除百度地图左下角Logo
  17. 天下武功唯快不破------实验吧
  18. wp10手机不能连接微软服务器,WP10手机微软账户登陆不了该怎么办?
  19. Mendix助力工业数字化 :“智能制造百家讲堂”问题回顾
  20. 中国服务器连通状态,ppp服务器连通状态显示失败怎么办?

热门文章

  1. 腾讯云4核8g服务器支持多少人在线使用?
  2. nboot和eboot
  3. 满足你的好奇,手动拆解示波器,了解机内高科技
  4. Gala Games 推出最新的 3 款新游戏。
  5. Confluence7 配置docker Nginx https 反向代理
  6. css3+jquery仿win7开机效果
  7. 车载导航系统中GPS的定位
  8. 计算机类论文摘要,★计算机应用类论文摘要范文计算机应用类论文摘要写
  9. 服务器RAID5 18T 磁盘挂载
  10. oracle 上一年数据,oracle 查询前一小时、一天、一个月、一年的数据