...

import requests
from bs4 import BeautifulSoup def gethtml(url,h):
r = requests.get(url,headers=h)
r.raise_for_status()
r.encoding = r.apparent_encoding
return r.text def getburl(r):
soup = BeautifulSoup(r,'lxml')
burls = []
for url in soup.find_all(class_='top-tit'):
base_u = url.p.a.attrs['href']
b_url = 'http://www.jb51.net' + base_u
burls.append(b_url)
return burls
def getbhtml(url):
he = {
'Host': 'www.jb51.net',
'Referer': url,
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36'
}
r = requests.get(url, headers=he)
r.raise_for_status()
r.encoding = r.apparent_encoding
return r.text def bookinfo(r):
soup = BeautifulSoup(r, 'lxml')
name = soup.find(class_='new2').h1.text
downurl = []
durls = soup.find(class_='content greena clearfix')
for a in durls.find_all('a'):
downurl.append(a.attrs['href'])
return name,downurl if __name__ == "__main__": h = {
'Host': 'www.jb51.net',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36'
}
# file = open('booksdown.txt', 'a')
for page in range(1,4):
url = 'http://www.jb51.net/books/list476_{}.html'.format(str(page))
r = gethtml(url,h)
burls = getburl(r)
for burl in burls:
br = getbhtml(burl)
binfos = bookinfo(br)
print(binfos)
print('书籍原地址:{}'.format(burl))
print('\n\n')
# file.write(str(binfos))
# file.write('\n\n')
# file.close()

Python 爬取 书籍的更多相关文章

  1. Python爬取豆瓣指定书籍的短评

    Python爬取豆瓣指定书籍的短评 #!/usr/bin/python # coding=utf-8 import re import sys import time import random im ...

  2. python爬取当当网的书籍信息并保存到csv文件

    python爬取当当网的书籍信息并保存到csv文件 依赖的库: requests #用来获取页面内容 BeautifulSoup #opython3不能安装BeautifulSoup,但可以安装Bea ...

  3. python 爬取豆瓣书籍信息

    继爬取 猫眼电影TOP100榜单 之后,再来爬一下豆瓣的书籍信息(主要是书的信息,评分及占比,评论并未爬取).原创,转载请联系我. 需求:爬取豆瓣某类型标签下的所有书籍的详细信息及评分 语言:pyth ...

  4. Python爬取网易云音乐歌手歌曲和歌单

    仅供学习参考 Python爬取网易云音乐网易云音乐歌手歌曲和歌单,并下载到本地 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做 ...

  5. Python 爬取所有51VOA网站的Learn a words文本及mp3音频

    Python 爬取所有51VOA网站的Learn a words文本及mp3音频 #!/usr/bin/env python # -*- coding: utf-8 -*- #Python 爬取所有5 ...

  6. python爬取网站数据

    开学前接了一个任务,内容是从网上爬取特定属性的数据.正好之前学了python,练练手. 编码问题 因为涉及到中文,所以必然地涉及到了编码的问题,这一次借这个机会算是彻底搞清楚了. 问题要从文字的编码讲 ...

  7. python爬取某个网页的图片-如百度贴吧

    python爬取某个网页的图片-如百度贴吧 作者:vpoet mail:vpoet_sir@163.com 注:随意copy,不用告诉我 #coding:utf-8 import urllib imp ...

  8. Python:爬取乌云厂商列表,使用BeautifulSoup解析

    在SSS论坛看到有人写的Python爬取乌云厂商,想练一下手,就照着重新写了一遍 原帖:http://bbs.sssie.com/thread-965-1-1.html #coding:utf- im ...

  9. 使用python爬取MedSci上的期刊信息

    使用python爬取medsci上的期刊信息,通过设定条件,然后获取相应的期刊的的影响因子排名,期刊名称,英文全称和影响因子.主要过程如下: 首先,通过分析网站http://www.medsci.cn ...

随机推荐

  1. JavaScript 实现Sleep方法(多个setTimeout同步执行)

    前言 JavaScript是单线程的,如果所有操作都是同步,必将线程堵塞,页面失去响应.因此JavaScript采用了事件驱动机制,在单线程模型下,使用异步回调函数的方式来实现非阻塞的IO操作.因此也 ...

  2. 基于预计算的全局光照(Global Illumination Based On Precomputation)

    目录 基于图像的光照(Image Based Lighting,IBL) The Split Sum Approximation 过滤环境贴图 预计算BRDF积分 预计算辐射度传输(Precomput ...

  3. 被校园网限速限流的日子 | 路由代理ipv6访问的操作手册

    一 前 言 你是否还在为校园网的收费而小心翼翼?你是否还在为网速不够快而影响科研进程? 你是否还在为处理舍友关系而费经心思? 你是否还在为不能给舍友提供价值而苦恼? 那么,叶子团队或许能够帮助到你解决 ...

  4. xshell 连接virtualbox nat模式的虚拟主机的方式

    因为垃圾CSDN抽风无法收藏文章 所以保存了一片文章 https://blog.csdn.net/Trista_WU/article/details/79873310?utm_medium=distr ...

  5. Bayou复制分布式存储系统

    本文主要参考文献[1]完成. 第1章导读 Bayou是一个复制的.弱一致性的存储系统,用于移动计算环境.为了最大化可用性,Bayou为用户提供了可以任意读写访问的副本.Bayou的设计侧重于为应用程序 ...

  6. 从源码解析Electron的安装为什么这么慢

    前言 Electron作为一款跨平台的桌面应用端解决方案已经风靡全球.作为开发者,我们几乎不用关心与操作系统的交互,直接通过Web前端技术与Electron提供的API就可以完成桌面应用端的开发. 然 ...

  7. 从零入门 Serverless | 一文搞懂函数计算及其工作原理

    作者 | 孔德慧(夏莞) 阿里云函数计算开发工程师 什么是函数计算 大家都了解,Serverless 并不是没有服务器,而是开发者不再需要关心服务器.下图是一个应用从开发到上线的对比图: 在传统 Se ...

  8. AOP的简单介绍

    1.AOP简介 AOP面向切面编程,采取横向抽取机制,取代了传统纵向继承体系重复性代码(性能监视.安全检查.缓存) SpringAOP使用纯java实现,不需要专门的编译过程和类加载器,在运行期间以代 ...

  9. JS最简单的定时累加计数器

    js代码: 1 var timer , k = 0; 2 function star() { 3 k += 1; 4 document.getElementById("num"). ...

  10. 全场景效能平台猪齿鱼常用的前端css实现方案

    ​ 居中 最常用的height + line-height,以及margin:0 auto的居中方式就不再阐述,以下介绍两种容错性高的实现方案. flex布局实现 ​ 猪齿鱼前端日常开发中,我们多以f ...