原网址

不管你现在出于什么阶段都一定要开始注重自己的穿搭,各种烂大街的格子衫,程序员们真的别再穿了,外在形象真的比你想象的重要的多,不是要你颜值有多好看,而是最起码你得收拾,你得干净吧。

面向对象编写爬虫

首先明确基本的思路:发送请求,解析请求,保存内容

搭建基本结构:

#需要的导入的模块
import requests
from lxml import etree
import json
#本次解析方式选择使用xpath
class ZhiHuArticle(object):def __init__(self):passdef get_response(self):passdef str_to_html(self):passdef pares(self):passdef save(self):passdef work(self):pass
if __name__ == '__main__':article = ZhiHuArticle()article.work()

发送请求

检查文章 找到对应的url,uesr_agent,发送请求

def __init__(self):self.url = "https://www.zhihu.com/question/268776431/answer/1276747242"# self.file =open("jitang.text","wb")def get_response(self,url):headers = {"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36"}text = requests.get(url,headers=headers).textreturn text

解析请求

首先需要把获取的text文件转换成HTML格式:
html = etree.HTML(xxx)
然后用xpath解析html,找到对应的内容,可以在网址上用xpath解析工具查看找到的内容是否正确

 def str_to_html(self,text):html = etree.HTML(text)return htmldef parse(self,html):nodes = html.xpath("//div[@class='RichContent-inner']/span/p/text()")return nodes

保存内容

    def save(self,nodes):# self.file.write(dict_data)with open("jitang.text",'wb') as f:dict_data = {}for node in nodes[0:53]:dict_data = nodef.write(json.dumps(dict_data,ensure_ascii=False).encode())

源码(可能写的不规范,,别介意)

# !/usr/bin/env python
# _*_ coding:utf-8 _*_import  requests
from lxml import etree
import jsonclass Jitang(object):def __init__(self):self.url = "https://www.zhihu.com/question/268776431/answer/1276747242"# self.file =open("jitang.text","wb")def get_response(self,url):headers = {"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36"}text = requests.get(url,headers=headers).textreturn textdef str_to_html(self,text):html = etree.HTML(text)return htmldef parse(self,html):nodes = html.xpath("//div[@class='RichContent-inner']/span/p/text()")return nodesdef save(self,nodes):# self.file.write(dict_data)with open("jitang.text",'wb') as f:dict_data = {}for node in nodes[0:53]:dict_data = nodef.write(json.dumps(dict_data,ensure_ascii=False).encode())def run(self):response = self.get_response(self.url)html_ = self.str_to_html(response)pares_ = self.parse(html_)self.save(pares_)if __name__ == '__main__':jitang=Jitang()jitang.run()

结果


然后感觉这篇文章写的挺好的,,可能还是有这个年纪的多愁善感,生活不易,一起加油,努力奔向想要的生活。

面向对象方式爬取知乎鸡汤相关推荐

  1. [python爬虫] BeautifulSoup和Selenium简单爬取知网信息测试

    作者最近在研究复杂网络和知识图谱内容,准备爬取知网论文相关信息进行分析,包括标题.摘要.出版社.年份.下载数和被引用数.作者信息等.但是在爬取知网论文时,遇到问题如下:   1.爬取内容总为空,其原因 ...

  2. python 数据分析 书籍推荐 知乎_Python 爬取知乎 9674 个问答,揭秘最受欢迎的 98 本书!...

    原标题:Python 爬取知乎 9674 个问答,揭秘最受欢迎的 98 本书! 作者 | Yura 责编 | 胡巍巍 高尔基这话有没有道理我不知道, 咱也不敢问, 主要是现在也问不了. 那对我来说,读 ...

  3. python爬虫爬取知乎图片,轻松解决头像荒

    前言 最近逛知乎,发现了一个问题.         回答下很多好看的头像,因此我动了一个心思,想要制作一个小网页,可以随机返回一款好看的情头.心思既起,当然要开始付诸行动.但是想要制作如此一个网页,后 ...

  4. python爬取知乎热搜_python爬取知乎

    大小: 1.59M 文件类型: .zip 金币: 1 下载: 0 次 发布日期: 2021-01-30 资源简介 此项目的功能是爬取知乎用户信息以及人际拓扑关系,爬虫框架使用scrapy,数据存储使用 ...

  5. scrapy实战项目(简单的爬取知乎项目)

    本项目实现了对知乎用户信息的爬取,并没有用数据库等,只是简单地用一些提取了一些字段然后存储在了一个csv文件中,但是同样可以实现无线爬取,理论上可以实现万级数据的爬取(当然取决于网速了) 其实想爬取知 ...

  6. scrapy爬取知乎问题实战

    首先,需要理解cookies的含义,是存储在浏览器中的内容,在本地存储任意键值对,第一次访问时服务器返回一个id存储到本地cookie中,第二次访问将cookies一起发送到服务器中 常见http状态 ...

  7. python爬虫知乎图片_python 爬取知乎图片

    先上完整代码 1 importrequests2 importtime3 importdatetime4 importos5 importjson6 importuuid7 from pyquery ...

  8. 【没落的985/211】Python爬取知乎8万字回答进行高校分析

    ↑ 点击上方 "一行数据" 关注 + 星标 ~ 每周送书,绝不错过 最近知乎一个"有哪些较原来没落的985/211院校?"的问题引起了很多人的关注,回答者各种分 ...

  9. python爬取知乎live_【实战视频教程】使用scrapy爬知乎live信息

    [公众号:大邓python]用scrapy爬取知乎live_腾讯视频https://v.qq.com/x/cover/u0551wi70m1/u0551wi70m1.html 一.知乎Live抓包分析 ...

  10. python爬取知乎文章_大佬分享Python编程实现爬取知乎用户信息的例子

    有一天 , 我发现我心仪已久的妹子在朋友圈里分享了知乎专栏的文章 , 就知道她也刷知乎 . 如果在知乎上关注她 , 我就能知道 , 她最近关注什么 , 心里想些什么 , 了解了解她喜欢的方面 , 还能 ...

最新文章

  1. iOS和android h5字体差异,关于移动hybrid开发中H5页面的字体应与系统保持一致的问题...
  2. 车和家李想:在智能电动车的红海里,这是我唯一能够胜出的机会所在...
  3. 【java 类加载的深入研究1】loadClass()的研究
  4. linux常用命令以及相关说明
  5. 记一次Mysql误删记录的挽救
  6. 【若依(ruoyi)】layui upload
  7. StyleGAN进化过程详解
  8. Mac IDEA解决Maven项目命令行报错:command not found: mvn
  9. 批量自动化配置Dell服务器idrac管理口IP
  10. IDEA从零到精通(29)之chinese中文汉化插件
  11. ios 版手机迅雷的安装方法
  12. 精简高效的CSS命名准则/方法
  13. 文档扫描OCR识别-2
  14. solr常见问题整理
  15. 解决树莓派4B无线鼠标迟滞/延迟的问题
  16. Linux修改root密码
  17. linux客户端配置网络打印机,请教linux命令行配置和使用网络共享打印机的..._网络编辑_帮考网...
  18. Effective C++ More Effective C++(四)
  19. 百度之星(2015)
  20. 广州大学 操作系统实验之银行家算法

热门文章

  1. html设置超出两行显示省略号,css 文本两行显示,超出省略号表示
  2. 【数据库】数据库课程设计一一疫苗接种数据库
  3. CTeX 中文 beamer 模板
  4. 同事在上班期间在干私活,要不要告诉老板!
  5. 艾尔塔7号/Elta7
  6. Sql Server——Sql Server中进行查询操作时提示“对象名无效”
  7. 第六章 网上银行与电子支付-1
  8. Justinmind 如何让自己的项目可以发布到网上,实现各个端打开网页就能看
  9. 48 款数据可视化分析工具大集合
  10. u盘在电脑上读不出来?从这几方面排查