一、缘由

  这是我之前刚开始学习的时候爬取糗百的练习内容,主要练习的是bs64解析。虽然现在用的不是特别的多,但是当初的时候用起来还是非常的顺手的。

二、代码实现

#coding:utf-8

import requests
from bs4 import BeautifulSoup def download_page(url):
headers={
'User - Agent':"Mozilla / 5.0(Windows NT 10.0; WOW64) AppleWebKit / 537.36(KHTML, like Gecko) Chrome / 86.0.4240.198 Safari / 537.36"
} #模拟请求登录
r=requests.get(url,headers=headers)
return r.text def get_content(html,page):
output='''第{}页 作者:{}性别:{}年龄:{}点赞:{}\n{}\n----------\n\n'''
soup=BeautifulSoup(html,'html.parser')
con=soup.find('div',id='content')
con_list=con.find_all('div',class_='article')
for i in con_list:
# hot_comments = i.find('div', class_='main-text').get_text() # 获取热评
vote = i.find('i', class_='number').string # 点赞数
author=i.find('h2').string #获得作者的名字
content=i.find('div',class_='content').find('span').get_text() #获取内容
author_info=i.find('div',class_='artciGender') #获取性别,年龄等
if author_info is not None:
class_list=author_info['class']
if 'womenIcon' in class_list:
gender='女'
elif 'manIcon' in class_list:
gender='男'
else:
gender=''
age=author_info.string
else:
gender=''
age=''
save_txt(output.format(page,author,gender,age,vote,content,))#hot_comments def save_txt(*args):
for i in args:
with open('qiubai.txt','a',encoding='utf-8') as f:
f.write(i)
print(i) def main():
for i in range(1,14):
url=f'''https://www.qiushibaike.com/text/page/{i}/'''
html=download_page(url)
get_content(html, i) if __name__ == '__main__':
main()

三、效果展示

base64解析爬取糗百的更多相关文章

  1. Python 爬虫入门(一)——爬取糗百

    爬取糗百内容 GitHub 代码地址https://github.com/injetlee/Python/blob/master/qiubai_crawer.py 微信公众号:[智能制造专栏],欢迎关 ...

  2. Java - XPath解析爬取内容

    code { margin: 0; padding: 0; white-space: pre; border: none; background: transparent; } pre { backg ...

  3. Beautifulsoup网页解析——爬取豆瓣排行榜分类接口

    我们在网页爬取的过程中,会通过requests成功的获取到所需要的信息,而且,在返回的网页信息中,也是通过HTML代码的形式进行展示的.HTML代码都是通过固定的标签组合来实现页面信息的展示,所以,最 ...

  4. BS4爬取糗百

    -- coding: cp936 -- import urllib,urllib2 from bs4 import BeautifulSoup user_agent='Mozilla/5.0 (Win ...

  5. python爬取糗百第一页的笑话

    自学python网络爬虫,发现request比urllib还是要好用一些,因此利用request和BeautifulSoup来实现糗百的首页笑话的抓取.BeautifulSoup通过find和find ...

  6. 爬虫实例之使用requests和Beautifusoup爬取糗百热门用户信息

    这次主要用requests库和Beautifusoup库来实现对糗百的热门帖子的用户信息的收集,由于糗百的反爬虫不是很严格,也不需要先登录才能获取数据,所以较简单. 思路,先请求首页的热门帖子获得用户 ...

  7. python爬取糗百内容

    #-*- coding: utf-8 -*- import urllib import urllib2 import re #页面为1 page=1 url='http://www.qiushibai ...

  8. 接着上次的python爬虫,今天进阶一哈,局部解析爬取网页数据

    *解析网页数据的仓库 用Beatifulsoup基于lxml包lxml包基于html和xml的标记语言的解析包.可以去解析网页的内容,把我们想要的提取出来. 第一步.导入两个包,项目中必须包含beau ...

  9. 全栈爬取-Scrapy框架(CrawlSpider)

    引入 提问:如果想要通过爬虫程序去爬取”糗百“全站数据新闻数据的话,有几种实现方法? 方法一:基于Scrapy框架中的Spider的递归爬取进行实现(Request模块递归回调parse方法). 方法 ...

  10. scrapy框架基于CrawlSpider的全站数据爬取

    引入 提问:如果想要通过爬虫程序去爬取”糗百“全站数据新闻数据的话,有几种实现方法? 方法一:基于Scrapy框架中的Spider的递归爬取进行实现(Request模块递归回调parse方法). 方法 ...

随机推荐

  1. 使用KVM的命令行方式安装centos7虚拟机

    前提条件 1.宿主机上已经安装KVM软件,参考网址:https://www.cnblogs.com/sanduzxcvbnm/p/15538881.html 2.已经上传centos7镜像到宿主机里 ...

  2. tcp_tw_recycle参数引发的系统问题

    文章转载自: https://blog.csdn.net/zhuyiquan/article/details/68925707

  3. Security:如何安装 Elastic SIEM 和 EDR

    转载自:https://elasticstack.blog.csdn.net/article/details/114023944 需要学习的地方:生成SSL证书 图片结合最下方的代码文字使用 last ...

  4. SQLServer配置开启TCP/IP连接

    一 先启用SQLServer的TCP/IP协议 1.1 打开SQLServer配置管理器 1.2 启用TCP/IP 二 设置SQLServer端口 2.1 双击TCP/IP,弹出属性设置框 2.2 将 ...

  5. 新零售SaaS架构:中央库存系统架构设计

    近年来,越来越多的零售企业大力发展全渠道业务.在销售额增长上,通过线上的小程序.直播.平台渠道等方式,拓展流量变现渠道.在会员增长方面,通过多样的互动方式,全渠道触达消费者,扩大会员规模.而全渠道的库 ...

  6. 代码随想录第二天| 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II

    2022/09/22 第二天 第一题 这题我就直接平方后排序了,很无脑但很快乐啊(官方题解是双指针 第二题 滑动窗口的问题,本来我也是直接暴力求解发现在leetCode上超时,看了官方题解,也是第一次 ...

  7. 实时营销引擎在vivo营销自动化中的实践 | 引擎篇04

    作者:vivo 互联网服务器团队 本文是<vivo营销自动化技术解密>的第5篇文章,重点分析介绍在营销自动化业务中实时营销场景的背景价值.实时营销引擎架构以及项目开发过程中如何利用动态队列 ...

  8. 小程序返回上一级页面背景音乐报错 setBackgroundAudioState:fail title is nil!;

    小程序初始化在onLoad的时候加载了一次背景音乐. 如果此时报错是title必传.如果没有 会报错一次 setBackgroundAudioState:fail title is nil!; 这个都 ...

  9. Vue中使用Switch开关用来控制商品的上架与下架情况、同时根据数据库商品的状态反应到前台、前台修改商品状态保存到数据库

    一般后台对商品的信息管理.包含商品的上架与下架.为了提高用户的体验.将商品上下架的操作做成开关的形式.同时后台数据库中保存的商品状态能够根据开关状态改变. 1.效果展示 这种效果:== 当开关是开启状 ...

  10. el-cascader组件根据最后一级向上找到父级并设置默认值

    vue + elementUI项目中,el-cascader级联选择器使用频率非常高,一些基本使用方法可以参考elementUI官方文档,本文主要研究当接口只返回最后一级id时,如何向上找出所有父级数 ...