python爬取豆瓣新书清单(代码片段)

author author     2022-12-05     656

关键词:

  • 使用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爬虫入门爬取豆瓣电影top250(代码片段)

    python爬虫入门(6):爬取豆瓣电影top250本次用re库实现爬取豆瓣电影top250的第一页,当网页换页的时候start参数会变,暂未实现爬取后续内容有些网页的信息不直接在网页源代码中显示,有些网页会在网页源代码显示,所以... 查看详情

    python爬取《流浪地球》豆瓣影评与数据分析(代码片段)

    一、选题背景:  2019年年初,《流浪地球》全国上榜。在豆瓣上,首日开分站稳8分以上,评分了之后点映的高热。微博上跟着出现吴京客串31天与6000万的热度搜。知乎上关于“评价刘慈欣如何评价刘慈欣小说改编的同名电影... 查看详情

    python爬虫简单实例——豆瓣电影评论数据的爬取(代码片段)

     一、前言豆瓣网是一家基于用户对于图书、电影和音乐兴趣而搭建的社交网站,由杨勃创立于2005年。豆瓣网推崇算法,根据用户对音乐、书、电影等进行的操作,自动给出同类趣味和友邻推荐。基于记录和分享而生... 查看详情

    python爬取豆瓣电影图片并生成评分柱状图(代码片段)

    博主在学习python爬虫后,实现了一个爬取豆瓣电影评分并形成柱状图,并下载电影海报,实现效果如图所示python爬取电影信息需要按此步骤模拟浏览器发送请求(获取网页代码)->提取有用的数据->存放于数据库或文... 查看详情

    用python爬取豆瓣电影信息,输入类别和爬取页数,想怎么爬就怎么爬,哎就是玩!(代码片段)

    用python爬取豆瓣电影信息,输入类别和爬取页数,想怎么爬就怎么爬,哎就是玩!代码操作展示:开发环境windows10python3.6开发工具pycharm库tkinter、jsonpath、lxml、random、os、xlrd1.百度搜索豆瓣打开豆瓣电影,... 查看详情

    python3.6+beautifulsoup+csv爬取豆瓣电影top250(代码片段)

    豆瓣电影Top250:https://movie.douban.com/top250?start=0&filter=BeautifulSoup:https://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html注:本文获取内容全部使用BeautifulSoup的se 查看详情

    python3分别用多进程,多线程,协程爬取豆瓣top250数据(python经典编程案例)(代码片段)

    一.多进程爬取importrequestsimporttimeimportmultiprocessingimportrandomfromlxmlimportetreefrommultiprocessingimportQueueclassDouBanSpider:"""爬虫类"""self.headers="User-Agent 查看详情

    python:爬取豆瓣短评用户数据(城市注册时间发表时间评分评论内容)(代码片段)

    最近因为泰迪实习需要,做一些这样的数据分析。分享一下相关代码。修改其中的url(注意应用规则,需要对爬虫有一定了解)即可用。importrequestsimportrefromtask_getUserInfimportgetUserInfimportpandasaspdimportemoji#用户数据获... 查看详情

    第三篇-爬取豆瓣电影网(代码片段)

    环境:python3.6 pycharm模块:requests,json1importrequests2importjson34#请求头5headers=6‘Accept‘:‘*/*‘,7‘Accept-Encoding‘:‘gzip,deflate,br‘,8‘Connection‘:‘keep-alive‘,9‘Host‘:‘movie.douban.com‘,10‘Referer 查看详情

    豆瓣爬取图书标签(代码片段)

    ...动手做的项目,算得上是中小型的吧。网上看到好多关于python爬虫的项目,说是找工作必会,但我都感觉有些难。最后不管三七二十一,试试再说,做不出来也不会损失什么。于是选了一个豆瓣图书标签爬取的项目,github(用过... 查看详情

    豆瓣书籍数据爬取与分析(代码片段)

    ...瓣上的书籍数据刚好可以满足需求,所以有了思路:1.用python编写爬虫,爬取豆瓣上的书籍信息,并持久化到mysql数据库;2.使用sq 查看详情

    用requests和etree爬取豆瓣电影评论(代码片段)

    ...瓣电影的短评温馨提示:博主使用的系统为win10,使用的python版本为3.6.5一、网页分析首先我们使用chrome浏览器打开某一部电影的评论(这里示例为最近很火的《一出好戏》),我们首先可以判断该网站 查看详情

    python爬虫实践四种姿势爬取豆瓣电影top250信息!(代码片段)

    文章目录一、分析网页二、正则表达式三、BeautifulSoup四、PyQuery五、Xpath六、总结一、分析网页电影信息在olclass为grid_view下的li标签里,获取到所有li标签的内容,然后遍历,从中提取出每一条电影的信息。翻页查看url变化规律:... 查看详情

    10分钟用python爬取最近很火的复联4影评(代码片段)

    欲直接下载代码文件,关注我们的公众号哦!查看历史消息即可!《复仇者联盟4:终局之战》已经上映快三个星期了,全球票房破24亿美元,国内票房破40亿人民币。虽然现在热度逐渐下降,但是我们还是恬不知耻地来蹭一蹭热... 查看详情

    scrapy框架爬取豆瓣读书(代码片段)

    1.scrapy框架Scrapy,Python开发的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。Scrapy吸引人的地方在于它是一个框架,任何人都... 查看详情

    爬取豆瓣top250书籍(代码片段)

    ‘‘‘爬取豆瓣top250书籍‘‘‘importrequestsimportjsonimportcsvfrombs4importBeautifulSoupbooks=[]defbook_name(url):headers=‘User-Agent‘:‘Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chr 查看详情

    爬虫学习--mooc爬取豆瓣top250(代码片段)

    scrapy框架scrapy是一套基于Twisted的异步处理框架,是纯python实现的爬虫框架,用户只需要定制开发几个模块就可以轻松实现一个爬虫,用来抓取网页内容或者各种图片。 scrapyEngine:scrapy引擎 负责调度器,下载器,管道和爬... 查看详情

    爬取豆瓣新热门电影数据(代码片段)

     引用人生苦短,Python是岸。近年来随着人工智能和机器学习的发展,Python大火,但其实Python并不是一门年轻的语言,早在1991年它就出现了。这门编程语言已经发展了多年,在可预见的未来也会继续保持它的地位。如今是Pytho... 查看详情