目的
1、掌握正则表达式的使用,会使用re模块解析网页数据。
2、掌握Xpath语法的使用,会使用lxml库解析网页数据。
3、掌握Beautifulsoup的使用,会使bs4库解析网页数据。
4、掌握JSONPath语法的使用,会使用json模块解析网页数据。
任务
爬取图书排行榜包括书名、原价、促销价、评论数、作者、出品时间以及出版社;

import requests
import re
from time import sleep
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36'
}
#从网页获取所有内容,以列表的方式返回
def getInfo(page):page = str(page)url = 'http://bang.dangdang.com/books/bestsellers/01.00.00.00.00.00-24hours-0-0-1-' +pageresponse = requests.get(url=url, headers=headers).textex = '(?<=<li>\s)[\w\W]*?(?=<\/li>)'p = re.findall(ex,response)#p的前三个元素是无用数据del p[0:3]#删除前三个元素return p
#根据传入的字符串解析第几本,返回字符串
def getIndex(str):ex = 'list_num.*?>(.*?)<'p = re.findall(ex,str)return p[0]
#返回书名书名
def getName(str):ex = 'title="(.*)"\/'p = re.findall(ex,str)return p[0]
#获取评论数量
def getCommentCount(str):ex = '_blank">([\d]+.*?)<'p = re.findall(ex,str)return p[0]
#获取作者
def getWriter(str):ex = 'title="(.*?)"'p = re.findall(ex,str)# return p[2]try:return p[2]except:return "暂未找到"
#获取出品时间
def getTime(str):ex = '<span>(.*?)<'p = p = re.findall(ex,str)return p[0]
#获取出版社
def getPub(str):ex = 'key=(.*?)"'p = re.findall(ex,str)return p[-1]
#获取价格
def getPriceFir(str):ex = 'price_r">.*?;(.*)<'p = re.findall(ex,str)return p[0]
#获取促销价格
def getPriceNow(str):ex = 'price_n">.*?;(.*)<'p = re.findall(ex, str)return p[0]def main():for page in range(1,26):list = getInfo(page)for info in list:index = getIndex(info)name = getName(info)priceFir = getPriceFir(info)priceNow = getPriceNow(info)commentCount = getCommentCount(info)writer = getWriter(info)time = getTime(info)pub = getPub(info)print("{}书名:{}  {} 作者:{}  ".format(index,name,commentCount,writer))print("出版时间:{} 出版社:{} 原价:{} 促销价:{}".format(time,pub,priceFir,priceNow))sleep(0.5)
main()

爬虫——解析图书排行榜图书信息相关推荐

  1. 基于Requests的Python爬虫入门实例------爬取豆瓣图书排行榜的前25本图书(小白福利)

    话不多说,先上代码: # -*- coding:utf-8 -*- import sys import requests import lxml from bs4 import BeautifulSo ...

  2. 爬虫系列之豆瓣图书排行

    豆瓣上有图书的排行榜,所以这次写了一个豆瓣的爬虫. 首先是分析排行榜的url 根据这个可以很容易的知道不同图书的排行榜就是在网站后面加上/tag/[类别],所以我们首先要获得图书的类别信息. 这里可以 ...

  3. 爬取当当图书排行榜(榜单自选),格式:爬取结果包含但不限于[排名 书名 作者],注意输出格式对齐

    目录 爬取当当图书排行榜 查看当当图书排行榜,分析其网址各部分代表的意义,选取特定分类和时间区间进行爬取 解析网页内容,查看所需信息(排名,书名,作者,出版社,价格)的位置: 筛选所需数据,输出并保存 ...

  4. 当当网最新上架图书html,基于Python3爬虫获取最新上架图书的实现

    2018.04 1 概述 主题网络爬虫, 根据一定的网页分析算法过滤与主 题无关的链接保留主题相关的链接井将其放入待抓取的 URL队列: 然后根据一定的搜索策略从队列中选择下一 步要抓取的 URL, ...

  5. python爬虫 亲手爬取图书网站

    这个爬虫只是一个简单的爬虫,单线程并且任务的管理等 一 爬虫数据持久化方式 使用的是mysql数据库.需要设备上先安装mysql数据库,python中使用mysql 数据库的方法是使用pymysql库 ...

  6. 爬取豆瓣图书排行榜前十并使用图表的形式展示

    爬取豆瓣图书 最近在学习爬虫的基础使用,发现最好爬的网站就是豆瓣了,随随便便都是可以爬到数据. 下面就是使用Python中间的requests模块实现豆瓣图书排行榜的爬取: import reques ...

  7. Python实现亚马逊网站图书满减信息的微信通知

    开篇: 于实践中学习. 1. 想法 本程序的开发主要经历了以下几个阶段(我是一个python初学者): 页面的下载->满减信息的查找->从首页动态寻找图书品类的入口->实现微信的通知 ...

  8. china-pub近7日计算机图书排行榜

    china-pub近7日计算机图书排行榜 1 软件随想录:程序员部落酋长Joel谈软件(影响全世界数百万程序员的网志书)(china-pub首发)(美)Joel Spolsky市场价:¥49.004- ...

  9. //5. 有若干本图书,图书信息包括图书书名、作者、出版社和价格。要求输出图书价格(const成员函数), //显示图书书名、作者、出版社(非const成员函数)、根据图书书名查找图书并显示相关信息等

    //5. 有若干本图书,图书信息包括图书书名.作者.出版社和价格.要求输出图书价格(const成员函数), //显示图书书名.作者.出版社(非const成员函数).根据图书书名查找图书并显示相关信息等 ...

最新文章

  1. jtabel 遍历_Swing中经常会遇到的若干问题——JTable(持续更新) | 学步园
  2. is not allowed to connect to this MySQL server解决办法
  3. 倒计时321控制器设置
  4. shell实现矩阵转置
  5. [python] 使用scikit-learn工具计算文本TF-IDF值
  6. iOS开发UIScrollView的底层实现
  7. 网络空间技术实验室:打造信息安全技术培育平台
  8. 解决Python print输出不换行没空格的问题
  9. intellij idea写Springboot生成图片验证码两种实现方式(全码)
  10. Rails开始遇到的一个端口占用问题的解决方法
  11. sap 设置服务器信息,服务器上配置sap
  12. 开发者服务器怎么发送公众号上的消息,微信公众号发送提醒消息
  13. 校园学生管理系统设想
  14. 盘古开源:2022年全球汽车产能仍受制于芯片短缺,中国减产量占一成
  15. oracle 修改lsnrctl,Oracle中 lsnrctl命令使用总结(推荐)
  16. 嵌入式Linux开发
  17. 步步为营---- MuleEsb学习(一) 扫盲篇
  18. VS册程序设计C#---问卷调查系统
  19. 算法入门经典模板总结
  20. Simbec-Orion Group采用甲骨文电子临床云套件简化临床试验管理过程

热门文章

  1. 零基础编程——块语言编程游戏攻略之动画篇
  2. iOS系列教程之常见开发Tips(转自阿峰的博客)
  3. 5W1H1V分析法帮你快速了解产品
  4. 统计学(1)二项分布 几何分布 泊松分布 指数分布 正态分布 gamma分布 beta分布
  5. 半同步半异步模式以及Leader_Follwer模式
  6. 通俗易懂物联网(1):什么是物联网?
  7. paypal支付接口开发笔记--Java版
  8. eeprom的wp 引脚_24C04WP 数据手册 PDF - EEPROM - ST - DataSheet5.cn
  9. 字节与字符串之间的转化
  10. 分布式系统为什么需要 Tracing?