python多线程糗事百科案例
案例:多线程爬虫
目标:爬取糗事百科段子,待爬取页面URL:http://www.qiushibaike.com/8hr/page/1
要求:
使用requests获取页面信息,用XPATH/re 做数据提取
获取每个帖子里的 用户头像链接、用户主页、用户名、用户性别、用户年龄、段子内容、点赞次数、评论次数
保存到本地json文件内
采用多线程
queue(队列对象)
queue是python中的标准库,可以直接import queue引用,队列是线程间最常用的交换数据的形式
python下多线程:
对于资源,加锁是个重要的环节。因为python原生的list, dict等,都是not thread safe的。而queue,是thread safe(线程案例)的,因此在满足使用条件下,建议使用队列
初始化:class queue.Queue(maxsize) FIFO(先进先出)
常用方法:
queue.Queue.qsize() 返回队列的大小
queue.Queue.empty() 如果队列为空,返回True,反之返回False
queue.Queue.full() 如果队列满了,返回True,反之返回False
queue.Queue.get([block[, timeout]]) 从队列中取出一个值,timeout为等待时间
创建一个“队列”对象
import queue
myqueue = queue.Queue(maxsize = 10)
将一个值放入队列中
myqueue.put(10)
将一个值从队列中取出
myqueue.get()
python多线程糗事百科案例相关推荐
- 爬虫——多线程糗事百科案例
Queue(队列对象) Queue是python中的标准库,可以直接import Queue引用;队列是线程间最常用的交换数据的形式 python下多线程的思考 对于资源,加锁是个重要的环节.因为py ...
- 多线程糗事百科案例(python2)
Queue(队列对象) Queue是python中的标准库,可以直接import Queue引用;队列是线程间最常用的交换数据的形式 python下多线程的思考 对于资源,加锁是个重要的环节.因为py ...
- python3多线程实例_python3多线程糗事百科案例
1 #使用了线程库 2 importthreading3 #队列 4 importqueue5 #解析库 6 from lxml importetree7 #请求处理 8 importrequests ...
- 正则表达式re模式(python爬虫糗事百科热点段子)
python编程快速上手(持续更新中-) python爬虫从入门到精通 文章目录 python编程快速上手(持续更新中-) python爬虫从入门到精通 非结构化数据与结构化数据提取 概述 非结构化的 ...
- python爬虫糗事百科
#coding:utf-8 import urllib2 import re # 工具类 class Tools(object):remove_n = re.compile(r'\n')replace ...
- (python)查看糗事百科文字 点赞 作者 等级 评论
import requests import re headers = { 'User-Agent':'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6. ...
- Python爬虫实战糗事百科实例
爬取糗事百科段子,假设页面的URL是 http://www.qiushibaike.com/8hr/page/1 要求: 使用requests获取页面信息,用XPath / re 做数据提取 获取每个 ...
- python爬虫案例——糗事百科数据采集
全栈工程师开发手册 (作者:栾鹏) python教程全解 python爬虫案例--糗事百科数据采集 通过python实现糗事百科页面的内容采集是相对来说比较容易的,因为糗事百科不需要登陆,不需要coo ...
- Python爬虫 基于Beautiful Soup的糗事百科爬虫
python爬虫 ---- 糗事百科爬虫 首先进入糗事百科官网首页 -> 糗事百科 本次爬虫的目标是翻页爬取糗事百科的信息,包括 标题, 链接, 作者名, 好笑数&评论数 之后右键检查, ...
最新文章
- Android studio 真机联调闪退
- mysql 实现yyyyww_java – LocalDate无法使用’yyyy’解析’ww’
- 封神召唤师显示服务器爆满,封神召唤师总是显示无法连接网络
- MemoryStream的一些问题
- 运营资源很少的时候,怎么运营自己的产品(完结)
- c++ multimap的几个insert插入元素简单例子
- Python_str 的内部功能介绍
- Depth-first Search深度优先搜索专题7
- 企业级网络建站工作室源码
- django-连接数据库mysql
- weex android app例子,weex中修改android app图标和欢迎页
- awk '/#BEGIN/,/#END/{next}1' 1是什么意思?-转
- 【动态规划笔记】状压dp:蓝桥 矩阵计数 (二进制枚举)
- php 科学计数加1,PHP采用超长(超大)数字运算防止数字以科学计数法显示的方法_php技巧...
- 使用色彩追踪和形态学运算得到图像中感兴趣区域
- Mysql,phpmyadmin密码忘了怎么办
- Unity3D 渲染管线全流程解析
- FFPlay命令入门教程
- 深入了解Element Form表单动态验证问题
- 从建立技能库到培养良好习惯,这里有给职场年轻人的10条建议。
热门文章
- matlab的函数库,matlab函数库大全
- python中input是什么_Python中input函数的用法是什么?_后端开发
- 【python】The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all
- 通过注册表设置VMware Horizon View Client SSL配置
- Java培训完能不能就业?
- 星际争霸2 微操练习 地图
- Hungry Rabbit
- 计算机u盘驱动坏了如何的修复,U盘识别不了,小编教你U盘识别不了怎么修复
- mybatis spring springMVC
- Unity大魔王私藏的开发2D游戏的常用插件合集