1、说明:利用requests和正则表达式方法,爬取糗事百科网中”文字“专题的段子信息,并把爬取的数据存储在本地文件中。
2、爬虫分析:
(1)网址信息及规律:
https://www.qiushibaike.com/text/page/1/
https://www.qiushibaike.com/text/page/2/
https://www.qiushibaike.com/text/page/3/
(2)爬取信息:用户ID、用户等级、用户性别、发表段子文字信息、好笑数量和评论数量
(3)将数据保存在txt文件中
3、编写代码:
D:\Anaconda\Python_Workplace\Chapter01\QiuShiBaiKe.py

import requests as rs
import os
import time as t
import re

headers={
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134'
   }

if os.path.exists(r'C:/Users/huake/Desktop/QiuShiBaiKe.txt'):
    os.remove(r'C:/Users/huake/Desktop/QiuShiBaiKe.txt')
else:
    f=open('C:/Users/huake/Desktop/QiuShiBaiKe.txt','w')
    f.close()
    
f=open('C:/Users/huake/Desktop/QiuShiBaiKe.txt','a+',encoding='utf-8')

def judgement_sex(class_name):
    if class_name=='manIcon':
        return '男'
    else:
        return '女'

def get_info(url):
    wb_data=rs.get(url,headers=headers)
    content=wb_data.content.decode('utf-8')
    #content=wb_data.text
    titles=re.findall('<h2>(.*?)</h2>',content,re.S)
    sexs_levels=re.findall('<div class="articleGender(.*?)</div>',content,re.S)
    texts=re.findall('<div class="content">.*?<span>(.*?)</span>',content,re.S) #特别要注意这句话
    laughs=re.findall('<span class="stats-vote"><i class="number">(\d+)</i>',content,re.S) 
    comments=re.findall('<i class="number">(\d+)</i> 评论',content,re.S)
    for title,sex_level,text,laugh,comment in zip(titles,sexs_levels,texts,laughs,comments):
        data={
            '用户ID':title.strip(),
            '用户等级':sex_level.strip().split('">')[1],
            '用户性别':judgement_sex(sex_level.strip().split('">')[0]),
            '段子':text.strip(),
            '搞笑数':laugh.strip(),
            '评论数':comment.strip()
                }
        f.write(str(data)+'\n\n')
        print(data)

if __name__=='__main__':
    urls=['https://www.qiushibaike.com/text/page/{}/'.format(str(i)) for i in range(1,3)]
    for url in urls:
       get_info(url)
       t.sleep(1)
f.close()

网络爬虫:爬取段子信息相关推荐

  1. python网络爬虫爬取房价信息

    爬取房天下(http://newhouse.cd.fang.com/house/s/)成都地区的新房信息. 打开http://newhouse.cd.fang.com/house/s/,F12进入控制 ...

  2. 网络爬虫爬取淘宝页面商品信息

    网络爬虫爬取淘宝页面商品信息 最近在MOOC上看嵩老师的网络爬虫课程,按照老师的写法并不能进行爬取,遇到了一个问题,就是关于如何"绕开"淘宝登录界面,正确的爬取相关信息.通过百度找 ...

  3. python3网络爬虫--爬取b站用户投稿视频信息(附源码)

    文章目录 一.准备工作 1.工具 二.思路 1.整体思路 2.爬虫思路 三.分析网页 1.分析数据加载方式 2.分词接口url 3.分析用户名(mid) 四.撰写爬虫 五.得到数据 六.总结 上次写了 ...

  4. python如何爬虫网页数据-python网络爬虫爬取网页内容

    1.什么是网络爬虫? 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用的名字还有蚂蚁.自 ...

  5. 如何利用Python网络爬虫爬取微信朋友圈动态--附代码(下)

    前天给大家分享了如何利用Python网络爬虫爬取微信朋友圈数据的上篇(理论篇),今天给大家分享一下代码实现(实战篇),接着上篇往下继续深入. 一.代码实现 1.修改Scrapy项目中的items.py ...

  6. python朋友圈动态_如何利用Python网络爬虫爬取微信朋友圈动态--附代码(下)

    前天给大家分享了如何利用Python网络爬虫爬取微信朋友圈数据的上篇(理论篇),今天给大家分享一下代码实现(实战篇),接着上篇往下继续深入. 一.代码实现 1.修改Scrapy项目中的items.py ...

  7. python抓取朋友圈动态_如何利用Python网络爬虫爬取微信朋友圈动态--附代码(下)...

    原标题:如何利用Python网络爬虫爬取微信朋友圈动态--附代码(下) 前天给大家分享了如何利用Python网络爬虫爬取微信朋友圈数据的上篇(理论篇),今天给大家分享一下代码实现(实战篇),接着上篇往 ...

  8. python网络爬虫——爬取嗅事百科

    网络爬虫 - 爬取嗅事百科 爬取过程分三大步: 一,请求,获取网页源码 url为:url =' https : //www.qiushibaike.com/8hr/page/'+ str(page)先 ...

  9. python网络爬虫网易云音乐下载_python网络爬虫爬取网易云音乐

    #爬取网易云音乐 url="https://music.163.com/discover/toplist" #歌单连接地址 url2 = 'http://music.163.com ...

  10. 网络爬虫爬取拉勾招聘网

    网络爬虫爬取拉勾招聘网 搭配好环境 复制以下代码 # -*- coding: utf-8 -*- """ Created on Mon Sep 7 21:44:39 20 ...

最新文章

  1. 网页爬虫python代码_《用python写网络爬虫》完整版+源码
  2. hadoop中的jps是什么,Jps命令—使用详解【笔记自用】
  3. 【树莓派】为Ubuntu for ARM 更换中国软件源
  4. 进口配额管理和出口配额管理_SAP采购管理模块中的quot;配额协议quot;应用详解...
  5. Redis中的Sentinel 连接使用
  6. 怎么给自己的python换源_windows/linux下如何更换Python的pip源
  7. matlab tsai手眼标定程序代码_标定系列一 | 机器人手眼标定的基础理论分析
  8. 面向对象概述(课堂笔记)
  9. 重构随笔——重构的原则
  10. 再有人问你volatile是什么,把这篇文章也发给他。
  11. hdu 4333 Revolving Digits
  12. ThinkPHP文件上传
  13. CNN 模型框架(转)
  14. 【C# RDLC】 RDLC报表的部署问题
  15. RK3288_Android7.1增加自定义的红外遥控按键流程记录
  16. CVPR 2022 Oral | 目标检测新工作!南大开源AdaMixer:快速收敛的基于查询的目标检测器...
  17. 在Linux下面的某一个文件的查找命令
  18. [leedcode 137] Single Number II
  19. DELL台式机安装centos系统
  20. 非对称加密算法--RSA加密原理

热门文章

  1. 【笔记】opencv阈值处理 threshold函数 cv2.THRESH_BINARY ,cv2.THRESH_TRUNC) cv2.adaptiveThreshold()
  2. 手机内置摄像头接线图解_购机指南 6个不同版本的红米K30系列手机全方位性能排行对比...
  3. DellXPS-L502x OsxMountainLion驱动
  4. 软件需求分析案列_软件需求分析与范例
  5. 手机服务器响应出错 错误码500,手机服务器500错误原因
  6. 【微信小程序 三】用户界面
  7. 飞越星空屏保实现:3D数学之透视变换
  8. 必背的小技巧让你轻松过关
  9. Web基础之与Tomcat的初次相遇
  10. 让机器帮你做决策!强化学习在智能交互搜索的应用分享