我的编程空间,编程开发者的网络收藏夹
学习永远不晚

python爬取豆瓣新书清单

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

python爬取豆瓣新书清单

  • 使用python3的requests库快速获取豆瓣图书推荐的新书清单,并保存书籍信息和图书缩略图图片到本地
#!/usr/bin/env python
# -*- coding:utf-8 -*-
"""
@author:Aiker Zhao
@file:douban3.py
@time:上午10:34
"""
import json
import os
import re
from multiprocessing import Pool
import requests
from requests.exceptions import RequestException

dir = 'z:\\douban\\'

def get_web(url):
    try:
        rq = requests.get(url)
        if rq.status_code == 200:
            return rq.text
        return None
    except RequestException:
        return None

def parse_web(html):
    pattern = re.compile('<li\sclass="">.*?cover".*?href="(.*?)"\stitle="(.*?)".*?img\***c="(.*?)"' +
                         '.*?class="author">(.*?)<.*?year">(.*?)<.*?publisher">(.*?)<.*?</li>', re.S)
    results = re.findall(pattern, html)
    # print(results)
    for i in results:
        # url, title, img, author, yeah, publisher = i
        # author = re.sub('\s', '', author)
        # yeah = re.sub('\s', '', yeah)
        # publisher = re.sub('\s', '', publisher)
        # print(url, title, img, author, yeah, publisher)
        yield {
            'title': i[1],
            'url': i[0],
            'img': i[2],
            'author': i[3].strip(),
            'yeah': i[4].strip(),
            'publisher': i[5].strip()
        }
        # print(url, title, img, author, yeah, publisher)
        # return img,title

def save_image(title, img):
    images = dir + title + '.jpg'
    if os.path.exists(images):
        pass
    else:
        with open(images, 'wb') as f:
            f.write(requests.get(img).content)
            f.close()

def save_info(content):
    info = dir + 'info.txt'
    with open(info, 'a', encoding='utf-8') as fd: #防止出现ascII
        fd.write(json.dumps(content, ensure_ascii=False) + '\n') ##防止出现ascII
        fd.close()

def main():
    url = 'https://book.douban.com/'
    html = get_web(url)
    # parse_web(html)
    for i in parse_web(html):
        print(i)
        save_info(i)
        save_image(i.get('title'), i.get('img'))

if __name__ == '__main__':
    main()

python爬取豆瓣新书清单
python爬取豆瓣新书清单

  • 心得:
    • 需要注意正则的匹配规则的准确度,否则会没有响应,或者无限超时

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

python爬取豆瓣新书清单

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python爬取豆瓣新书清单

使用python3的requests库快速获取豆瓣图书推荐的新书清单,并保存书籍信息和图书缩略图图片到本地#!/usr/bin/env python# -*- coding:utf-8 -*-"""@author:Aiker Zhao@fi
2023-01-31

第一个爬虫——豆瓣新书信息爬取

本文记录了我学习的第一个爬虫程序的过程。根据《Python数据分析入门》一书中的提示和代码,对自己的知识进行查漏补缺。  在上爬虫程序之前补充一个知识点:User-Agent。它是Http协议中的一部分,属于头域的组成部分,User Age
2023-01-31

Python3 爬取豆瓣书籍 Xpat

#coding:utf8import timefrom urllib import requestfrom bs4 import BeautifulSoupnum = 1#用来计算一共爬取了多少本书start_time = time.tim
2023-01-31

Python爬虫怎么爬取豆瓣影评

本篇内容主要讲解“Python爬虫怎么爬取豆瓣影评”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python爬虫怎么爬取豆瓣影评”吧!一、学习开始前需安装模块pip install reques
2023-06-02

怎么用python爬虫获取豆瓣的书评

小编给大家分享一下怎么用python爬虫获取豆瓣的书评,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!python的五大特点是什么python的五大特点:1.简单易
2023-06-14

python爬取豆瓣电影TOP250数据

在执行程序前,先在MySQL中创建一个数据库"pachong"。import pymysql import requests import re#获取资源并下载 def resp(listURL):#连接数据库conn = pymysql.
2022-06-02

python怎么爬取豆瓣网页

这篇文章主要介绍了python怎么爬取豆瓣网页,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。python 语法简要介绍python 的基础语法大体与c语言相差不大,由于省去了
2023-06-14

Python爬虫使用lxml模块爬取豆瓣

上次使用了BeautifulSoup库爬取电影排行榜,爬取相对来说有点麻烦,爬取的速度也较慢。本次使用的lxml库,我个人是最喜欢的,爬取的语法很简单,爬取速度也快。本次爬取的豆瓣书籍排行榜的首页地址是:https://www.douban
2023-01-31

python爬取豆瓣top250的电影数

爬取网址: https://movie.douban.com/top250一:爬取思路(新手可以看一下) :      1:定义两个函数,一个get_page函数爬取数据,一个save函数保存数据,mian中向get_page函数传递url
2023-01-31

利用Python爬取豆瓣读书页面源码分享

本篇内容介绍了“利用Python爬取豆瓣读书页面源码分享”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!源代码如下:#coding:utf-8
2023-06-19

Python爬虫爬取豆瓣电影之数据提取值

工具:Python 3.6.5、PyCharm开发工具、Windows 10 操作系统、谷歌浏览器目的:爬取豆瓣电影排行榜中电影的title、链接地址、图片、评价人数、评分等网址:https://movie.douban.com/chart
2023-01-30

怎么用python爬取豆瓣前一百电影

这期内容当中小编将会给大家带来有关怎么用python爬取豆瓣前一百电影,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。python是什么意思Python是一种跨平台的、具有解释性、编译性、互动性和面向对象的
2023-06-26

使用Python怎么爬取豆瓣电影名

这期内容当中小编将会给大家带来有关使用Python怎么爬取豆瓣电影名,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Python的优点有哪些1、简单易用,与C/C++、Java、C# 等传统语言相比,Pyt
2023-06-14

python 开心网和豆瓣日记爬取的小爬虫

目录项目地址:开心网日记爬取使用代码豆瓣日记爬取使用代码Roadmap项目地址: https://github.com/aturret/python-crawler-exercise 用到了BeautifulSoup4,请先安装。pip i
2022-06-02

Python爬取豆瓣电影方法是什么

本篇内容主要讲解“Python爬取豆瓣电影方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python爬取豆瓣电影方法是什么”吧!主要目标 环境:MAC + Python3.6 ;
2023-06-02

python如何爬取豆瓣电影TOP250数据

这篇文章将为大家详细讲解有关python如何爬取豆瓣电影TOP250数据,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在执行程序前,先在MySQL中创建一个数据库"pachong"。import pymy
2023-06-15

Python爬虫实战之使用Scrapy爬取豆瓣图片

使用Scrapy爬取豆瓣某影星的所有个人图片 以莫妮卡·贝鲁奇为例1.首先我们在命令行进入到我们要创建的目录,输入 scrapy startproject banciyuan 创建scrapy项目 创建的项目结构如下2.为了方便使用pych
2022-06-02

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录