返回顶部
首页 > 资讯 > 后端开发 > Python >python 开心网和豆瓣日记爬取的小爬虫
  • 801
分享到

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

python爬虫python开心网爬虫python豆瓣日记爬虫 2022-06-02 22:06:45 801人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录项目地址:开心网日记爬取使用代码豆瓣日记爬取使用代码Roadmap项目地址: https://GitHub.com/aturret/python-crawler-exercise 用到了BeautifulSoup

目录
  • 项目地址:
  • 开心网日记爬取
    • 使用
    • 代码
  • 豆瓣日记爬取
    • 使用
    • 代码
  • Roadmap

    项目地址:

    https://GitHub.com/aturret/python-crawler-exercise

    用到了BeautifulSoup4,请先安装。

    
    pip install beautifulsoup4

    开心网日记爬取

    kaixin001.py

    使用

    登录开心网,浏览器F12看Http请求的header,获取自己的cookie。

    填写cookie,要爬的日记的url,要爬的总次数。走你。

    之后会生成html文件,格式是<:title>-<YYYYMMDDHHMMSS>

    代码

    
    # -*- coding: utf-8 -*-
    from urllib.request import urlopen
    import urllib.request
    import urllib.parse #为了获取HTTP response
    from bs4 import BeautifulSoup #BS4
    import string # 为了去掉空白字符
    import time # 防止被杀cookie
    import unicodedata # 字符修正
    # 在这里放第一个链接
    urlx = '链接' #写你想爬的文
    
    def request(url):
        global urlx #引用外面的链接作为全局变量,后面还会取下一个进行循环的
    
    
    # 使用urllib库提交cookie获取http响应
        headers = {
        'GET https':url,
        'Host':' www.kaixin001.com',
        'Connection':' keep-alive',
        'Upgrade-Insecure-Requests':' 1',
        'User-Agent':' Mozilla/5.0 (windows NT 10.0; Win64; x64) AppleWEBKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36',
        'Accept':' application/JSON, text/javascript, **; q=0.01',
        'Accept-Language':' zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7',
        'Cookie':COOKIE, #改成自己的cookie,自己浏览器打开网站F12调试,自己找http请求的header
        }
        request = urllib.request.Request(url=urlx,headers=headers)
        response = urllib.request.urlopen(request)
        contents = response.read()
    
    # 使用BS4获得所有HTMLtag
        bsObj = BeautifulSoup(contents,"html.parser")
    
    # 使用BS4的find函数获取当前页面的所有日记链接
        article = bsObj.find("div", attrs={"class":"article"})
        titleSet = article.findAll("h3")
        # print(titleSet)
        for title in titleSet:
            titleText = title.findAll("a",attrs={"class":"j a_unfolder_n"})
            for link in titleText:
                noteUrl = str(link.attrs["href"])
                print(noteUrl)
                requestSinglePage(noteUrl)
        next = bsObj.find("a",text="后页>")
        if next==None:
            print("结束了")
            boolean=1
        else:
            url = str(next.attrs["href"]).replace("&type=note","")
            print(url)
    
    def requestSinglePage(urly):
        global COOKIE
        headers = {
            'GET https':urly,
            'Host':' www.douban.com',
            'Connection':' keep-alive',
            'Upgrade-Insecure-Requests':' 1',
            'User-Agent':' Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36',
            'Accept':' application/json, text/javascript, */*; q=0.01',
            'Accept-Language':' zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7',
            'Cookie':COOKIE, #改成自己的cookie,自己浏览器打开网站F12调试,自己找http请求的header
        }
        request = urllib.request.Request(url=urly,headers=headers)
        response = urllib.request.urlopen(request)
        contents = response.read()
        # 使用BS4获得所有HTMLtag
        bsObj = BeautifulSoup(contents,"html.parser")
    
    # 使用BS4的find函数得到想要的东西:标题、发表时间和博客正文
    
        title = bsObj.find("h1").get_text()
        date = bsObj.find("span", attrs={"class":"pub-date"})
        dateT = bsObj.find("span", attrs={"class":"pub-date"}).get_text()
        text = bsObj.find("div", attrs={"id":"link-report"})
        # textT = bsObj.find("div", attrs={"class":"textCont"}).get_text()
    
    # 测试输出
        print(title)
        print(dateT)
    
        # 生成HTML文件。这里直接用file.open()和file.write()了,也可以用jinja2之类的框架生成。
        remove = string.whitespace+string.punctuation # 去掉日期的标点符号
        table = str.maketrans(':',':',remove)
    
        fileTitle=str(title)+'-'+str(dateT).translate(table)+'.html'
    
        print(fileTitle) #测试输出
    
        f = open(fileTitle,'w',encoding="utf-8") #注意用utf-8编码写入,不然会因为一些旧博文采用的gbk编码不兼容而出问题。
    
        # 写入message
        message = """
        <html>
        <head></head>
        <body>
        <h1>%s</h1>
        <b>%s</b>
        <br></br>
        %s
        </body>
        </html>"""%(title,dateT,unicodedata.nORMalize('NFD',text.prettify()))
        f.write(message)
        f.close()
    
    # 主循环,给爷爬
    
    boolean=0
    while(boolean==0):
        a=1
        request(url)
        print('We finished page '+str(a)+' .')
        a+=1

    Roadmap

    豆瓣四月份时候还有bug,手机端可以看到全部日记,半年隐藏无效。最近修好了。

    不过现在的隐藏依然没有针对到具体的日记,或许可以想办法通过其他手段爬下来。

    以上就是Python 开心网日记爬取的示例步骤的详细内容,更多关于python 开心网日记爬取的资料请关注编程网其它相关文章!

    --结束END--

    本文标题: python 开心网和豆瓣日记爬取的小爬虫

    本文链接: https://lsjlt.com/news/10796.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    猜你喜欢
    • python 开心网和豆瓣日记爬取的小爬虫
      目录项目地址:开心网日记爬取使用代码豆瓣日记爬取使用代码Roadmap项目地址: https://github.com/aturret/python-crawler-exercise 用到了BeautifulSoup...
      99+
      2022-06-02
      python 爬虫 python 开心网爬虫 python 豆瓣日记爬虫
    • Python爬虫怎么爬取豆瓣影评
      本篇内容主要讲解“Python爬虫怎么爬取豆瓣影评”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python爬虫怎么爬取豆瓣影评”吧!一、学习开始前需安装模块pip install reques...
      99+
      2023-06-02
    • Python爬虫使用lxml模块爬取豆瓣
      上次使用了BeautifulSoup库爬取电影排行榜,爬取相对来说有点麻烦,爬取的速度也较慢。本次使用的lxml库,我个人是最喜欢的,爬取的语法很简单,爬取速度也快。 本次爬取的豆瓣书籍排行榜的首页地址是: https://www.dou...
      99+
      2023-01-31
      爬虫 豆瓣 模块
    • Python爬虫爬取豆瓣电影之数据提取值
      工具:Python 3.6.5、PyCharm开发工具、Windows 10 操作系统、谷歌浏览器 目的:爬取豆瓣电影排行榜中电影的title、链接地址、图片、评价人数、评分等 网址:https://movie.douban.com/ch...
      99+
      2023-01-30
      爬虫 豆瓣 数据
    • python怎么爬取豆瓣网页
      这篇文章主要介绍了python怎么爬取豆瓣网页,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。python 语法简要介绍python 的基础语法大体与c语言相差不大,由于省去了...
      99+
      2023-06-14
    • python 爬取豆瓣网页的示例
      目录python 语法简要介绍爬取网页解析网页储存网页python作为一种已经广泛传播且相对易学的解释型语言,现如今在各方面都有着广泛的应用。而爬虫则是其最为我们耳熟能详的应用,今天...
      99+
      2024-04-02
    • Python爬虫实战之使用Scrapy爬取豆瓣图片
      使用Scrapy爬取豆瓣某影星的所有个人图片 以莫妮卡·贝鲁奇为例 首先我们在命令行进入到我们要创建的目录,输入 scrapy startproject banciyuan 创建scrapy项目 创建的项目结构如下...
      99+
      2022-06-02
      Scrapy爬取图片 Python Scrapy
    • python爬虫实践: 豆瓣小组命令行
      主要特性 前一阵重新组织了一下代码, 加了命令行help信息, 用起来更方便了一些 初步实现了豆瓣小组及用户相关的API爬虫和请求 基于requests和lxml, 没有用高阶的诸如scrapy之类的爬虫工具 所有的命令行输出都是标准的...
      99+
      2023-01-31
      爬虫 豆瓣 命令行
    • 怎么用python爬虫获取豆瓣的书评
      小编给大家分享一下怎么用python爬虫获取豆瓣的书评,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!python的五大特点是什么python的五大特点:1.简单易...
      99+
      2023-06-14
    • python爬取豆瓣top250的电影数
      爬取网址: https://movie.douban.com/top250 一:爬取思路(新手可以看一下) :      1:定义两个函数,一个get_page函数爬取数据,一个save函数保存数据,mian中向get_page函数传递...
      99+
      2023-01-31
      豆瓣 电影 python
    • 【Python】爬虫练习-爬取豆瓣网电影评论用户的观影习惯数据
      目录 前言 一、配置环境 1.1、 安装Python 1.2、 安装Requests库和BeautifulSoup库 1.3.、安装Matplotlib 二、登录豆瓣网(重点) 2.1、获取代理 2.2、测试代理ip是否可用 2.3、设置...
      99+
      2023-10-25
      windows python 开发语言 爬虫
    • 实践Python的爬虫框架Scrapy来抓取豆瓣电影TOP250
      安装部署Scrapy 在安装Scrapy前首先需要确定的是已经安装好了Python(目前Scrapy支持Python2.5,Python2.6和Python2.7)。官方文档中介绍了三种方法进行安装,我采用...
      99+
      2022-06-04
      爬虫 豆瓣 框架
    • Scrapy 爬虫实例 抓取豆瓣小组信息并保存到mongodb中
      这个框架关注了很久,但是直到最近空了才仔细的看了下 这里我用的是scrapy0.24版本先来个成品好感受这个框架带来的便捷性,等这段时间慢慢整理下思绪再把最近学到的关于此框架的知识一一更新到博客来。最近想学...
      99+
      2024-04-02
    • 编写Python爬虫抓取豆瓣电影TOP100及用户头像的方法
      抓取豆瓣电影TOP100 一、分析豆瓣top页面,构建程序结构 1.首先打开网页http://movie.douban.com/top250?start,也就是top页面 然后试着点击到top100...
      99+
      2022-06-04
      爬虫 豆瓣 头像
    • Python爬虫之爬取最新更新的小说网站
      目录一、引言二、关于相关访问请求及应答报文2.1、百度搜索请求2.2、百度返回搜索结果2.3、小说网站关于最新更新的展现及html报文格式三、实现思路及代码3.1、根据url获取网站...
      99+
      2024-04-02
    • Python爬虫:如何快速掌握Python爬虫核心技术,批量爬取网络图片
      对于爬虫,很多伙伴首选的可能就是Python了吧,我们在学习Python爬虫的时候得有侧重点,这篇文章教大家如何快速掌握Python爬虫的核心!有不清楚的地方,可以留言!1. 概述本文主要实现一个简单的爬虫,目的是从一个百度贴吧页面下载图片...
      99+
      2023-06-02
    • Python 通过xpath属性爬取豆瓣热映的电影信息
      目录前言页面分析实现过程创建项目Item定义中间件操作定义爬虫定义数据管道定义配置设置执行验证总结前言 声明一下:本文主要是研究使用,没有别的用途。 GitHub仓库地址:githu...
      99+
      2024-04-02
    • python爬虫爬网站的视频和图片
      环境:centos6.5 python2.6.6   http://www.budejie.com/( 纯属测试,并无恶意 )网站分析:我们点视频按钮 可以看到url是:http://www.budejie.com/video/接着我们点开...
      99+
      2023-01-31
      爬虫 图片 网站
    • Python爬虫爬取美剧网站的实现代码
      一直有爱看美剧的习惯,一方面锻炼一下英语听力,一方面打发一下时间。之前是能在视频网站上面在线看的,可是自从广电总局的限制令之后,进口的美剧英剧等貌似就不在像以前一样同步更新了。但是,作为一个宅diao的我又...
      99+
      2022-06-04
      爬虫 美剧 代码
    • Python爬虫如何爬取网页中所有的url
      这篇文章主要介绍Python爬虫如何爬取网页中所有的url,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!python可以做什么Python是一种编程语言,内置了许多有效的工具,Python几乎无所不能,该语言通俗易懂...
      99+
      2023-06-14
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作