import requestsimport reheaders = { 'User-Agent':'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)'}info_lists = []def judgment_sex(class_name): if class_name == 'womenIcon': return '女' else: return '男'def get_info(url): re…
初识python 之 爬虫:使用正则表达式爬取"古诗文"网页数据 的兄弟篇. 详细代码如下: #!/user/bin env python # author:Simple-Sir # time:2019/8/1 14:50 # 爬取糗事百科(文字)网页数据 import requests,re URLHead = 'https://www.qiushibaike.com' def getHtml(url): headers = { 'User-Agent': 'Mozilla/5.0…
案例要求参考上一个糗事百科单进程案例 Queue(队列对象) Queue是python中的标准库,可以直接import Queue引用;队列是线程间最常用的交换数据的形式 python下多线程的思考 对于资源,加锁是个重要的环节.因为python原生的list,dict等,都是not thread safe的.而Queue,是线程安全的,因此在满足使用条件下,建议使用队列 初始化: class Queue.Queue(maxsize) FIFO 先进先出 包中的常用方法: Queue.qsize…
糗事百科网站段子爬取,糗事百科是我见过的最简单的网站了!!! #-*-coding:utf8-*- import requests import re import sys reload(sys) sys.setdefaultencoding("utf-8") url = 'http://www.qiushibaike.com/hot/page/' page = urls = [] f = open("happy.txt",'w') ,): u = url+str(…
很多网站都有反爬措施,最常见的就是封ip,请求次数过多服务器会拒绝连接,如图: 在程序中设置一个代理ip,可有效的解决这种问题,代码如下: # 需要的库 import requests import re from multiprocessing import Pool # 设置代理ip proxy = { 'https':'111.231.140.109:8888' } # 请求头 headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1;…
import requests from lxml import etree import json import threading import queue # 采集html类 class GetHtml(threading.Thread): def __init__(self, page_queue): threading.Thread.__init__(self) self.page_queue = page_queue def run(self): self.do_get_html()…
刚开始学习python爬虫,写了一个简单python程序爬取糗事百科. 具体步骤是这样的:首先查看糗事百科的url:http://www.qiushibaike.com/8hr/page/2/?s=4959489,可以发现page后的数据代表第几页. 然后装配request,注意要设置user_agent user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)' headers = {'User-Agent': user_agen…
最近在浏览以前自己上传的源码,发现在糗事百科桌面端源码评论区中,有人说现在程序不能用了.查看了一下源码运行情况,发现是正则表达式解析问题.由于糗百的网页版链接和网页格式稍有变化,导致解释失败.虽然可以通过更改正则表达,重新获网页的信息,但比较复杂,出错率较高(技术有限).因此第二个版本采用HtmlAgilityPack类库解析Html. 1. HtmlAgilityPack类库 HtmlAgilityPack是一个解析Html文档的一个类库,当然也能够支持XML文件,该类库比.NET自带的XML…
参照网上的教程再做修改,抓取糗事百科段子(去除图片),详情见下面源码: #coding=utf-8#!/usr/bin/pythonimport urllibimport urllib2import reimport threadimport timeimport sys #定义要抓取的网页#url = 'http://www.qiushibaike.com/hot/'#读取要抓取的网页#globalcontent = urllib.urlopen(url).read()#抓取段子内容#new_…
闲来无事,学学python爬虫. 在正式学爬虫前,简单学习了下HTML和CSS,了解了网页的基本结构后,更加快速入门. 1.获取糗事百科url http://www.qiushibaike.com/hot/page/2/    末尾2指第2页 2.先抓取HTML页面 import urllib import urllib2 import re page = 2 url = 'http://www.qiushibaike.com/hot/page/' + str(page) #对应第2页的url…
转自:http://blog.csdn.net/pleasecallmewhy/article/details/8932310 项目内容: 用Python写的糗事百科的网络爬虫. 使用方法: 新建一个Bug.py文件,然后将代码复制到里面后,双击运行. 程序功能: 在命令提示行中浏览糗事百科. 原理解释: 首先,先浏览一下糗事百科的主页:http://www.qiushibaike.com/hot/page/1 可以看出来,链接中page/后面的数字就是对应的页码,记住这一点为以后的编写做准备.…
大家好,前面入门已经说了那么多基础知识了,下面我们做几个实战项目来挑战一下吧.那么这次为大家带来,Python爬取糗事百科的小段子的例子. 首先,糗事百科大家都听说过吧?糗友们发的搞笑的段子一抓一大把,这次我们尝试一下用爬虫把他们抓取下来. 友情提示 糗事百科在前一段时间进行了改版,导致之前的代码没法用了,会导致无法输出和CPU占用过高的情况,是因为正则表达式没有匹配到的缘故. 现在,博主已经对程序进行了重新修改,代码亲测可用,包括截图和说明,之前一直在忙所以没有及时更新,望大家海涵! 更新时间…
今天使用python爬虫实现了自动抓取糗事百科的段子,因为糗事百科不需要登录,抓取比较简单.程序每按一次回车输出一条段子,代码参考了 http://cuiqingcai.com/990.html 但该博主的代码似乎有些问题,我自己做了修改,运行成功,下面是代码内容: # -*- coding:utf-8 -*- __author__ = 'Jz' import urllib2 import re #糗事百科爬虫类 class QSBK: #初始化 def __init__(self): self…
静觅 » Python爬虫实战一之爬取糗事百科段子 首先,糗事百科大家都听说过吧?糗友们发的搞笑的段子一抓一大把,这次我们尝试一下用爬虫把他们抓取下来. 友情提示 糗事百科在前一段时间进行了改版,导致之前的代码没法用了,会导致无法输出和CPU占用过高的情况,是因为正则表达式没有匹配到的缘故. 现在,博主已经对程序进行了重新修改,代码亲测可用,包括截图和说明,之前一直在忙所以没有及时更新,望大家海涵! 更新时间:2015/8/2 糗事百科又又又又改版了,博主已经没心再去一次次匹配它了,如果大家遇到…
欢迎添加华为云小助手微信(微信号:HWCloud002 或 HWCloud003),输入关键字"加群",加入华为云线上技术讨论群:输入关键字"最新活动",获取华为云最新特惠促销.华为云诸多技术大咖.特惠活动等你来撩 自娱自乐 今天朋友发了一个段子,居然来自糗事百科-随着抖音.快手的各种火爆,仿佛从前拿着手机刷糗百的日子,已经过去好久了.不知道多少人还会念起那句"天王盖地虎,小鸡炖蘑菇-".今天就做个小练习,爬一爬糗事百科上的段子吧! 网站分析 段…
首先,糗事百科大家都听说过吧?糗友们发的搞笑的段子一抓一大把,这次我们尝试一下用爬虫把他们抓取下来. 友情提示 糗事百科在前一段时间进行了改版,导致之前的代码没法用了,会导致无法输出和CPU占用过高的情况,是因为正则表达式没有匹配到的缘故. 现在,博主已经对程序进行了重新修改,代码亲测可用,包括截图和说明,之前一直在忙所以没有及时更新,望大家海涵! 糗事百科又又又又改版了,博主已经没心再去一次次匹配它了,如果大家遇到长时间运行不出结果也不报错的情况,请大家参考最新的评论,热心小伙伴提供的正则来修…
首先,糗事百科大家都听说过吧?糗友们发的搞笑的段子一抓一大把,这次我们尝试一下用爬虫把他们抓取下来. 友情提示 糗事百科在前一段时间进行了改版,导致之前的代码没法用了,会导致无法输出和CPU占用过高的情况,是因为正则表达式没有匹配到的缘故. 现在,博主已经对程序进行了重新修改,代码亲测可用,包括截图和说明,之前一直在忙所以没有及时更新,望大家海涵! 糗事百科又又又又改版了,博主已经没心再去一次次匹配它了,如果大家遇到长时间运行不出结果也不报错的情况,请大家参考最新的评论,热心小伙伴提供的正则来修…
首先,糗事百科大家都听说过吧?糗友们发的搞笑的段子一抓一大把,这次我们尝试一下用爬虫把他们抓取下来. 友情提示 糗事百科在前一段时间进行了改版,导致之前的代码没法用了,会导致无法输出和CPU占用过高的情况,是因为正则表达式没有匹配到的缘故. 现在,博主已经对程序进行了重新修改,代码亲测可用,包括截图和说明,之前一直在忙所以没有及时更新,望大家海涵! 更新时间:2015/8/2 糗事百科又又又又改版了,博主已经没心再去一次次匹配它了,如果大家遇到长时间运行不出结果也不报错的情况,请大家参考最新的评…
原文链接:爬取糗事百科段子 利用前面学到的文件.正则表达式.urllib的知识,综合运用,爬取糗事百科的段子先用urllib库获取糗事百科热帖第一页的数据.并打开文件进行保存,正好可以熟悉一下之前学过的文件知识. from urllib import request, parse from urllib import error page = 1 url = 'https://www.qiushibaike.com/hot/page/'+str(page) user_agent = 'Mozil…
照着静觅大神的博客学习,原文在这:http://cuiqingcai.com/990.html 划重点: 1. str.strip() strip函数会把字符串的前后多余的空白字符去掉 2. response.read().decode('utf-8','ignore')  要加'ignore'忽略非法字符,不然总是报解码错误 3. python 3.x 中  raw_input 改成 input 了 4. 代码最好用notepad++先写 格式清晰一点 容易发现错 尤其是缩进和中文标点的错误…
首先,糗事百科大家都听说过吧?糗友们发的搞笑的段子一抓一大把,这次我们尝试一下用爬虫把他们抓取下来. 本篇目标 抓取糗事百科热门段子 过滤带有图片的段子 实现每按一次回车显示一个段子的发布时间,发布人,段子内容,点赞数. 糗事百科是不需要登录的,所以也没必要用到Cookie,另外糗事百科有的段子是附图的,我们把图抓下来图片不便于显示,那么我们就尝试过滤掉有图的段子吧. 好,现在我们尝试抓取一下糗事百科的热门段子吧,每按下一次回车我们显示一个段子. 1.确定URL并抓取页面代码 首先我们确定好页面…
这里利用正则表达式进行匹配,糗事百科是不需要登录的,所以也没必要用到Cookie,另外糗事百科有的段子是附图的,我们把图抓下来图片不便于显示,那么我们就尝试过滤掉有图的段子. 本篇目标 1.抓取糗事百科热门段子 2.过滤带有图片的段子 3.实现每按一次回车显示一个段子的发布页数,发布人,段子内容,点赞数 提取某一页的所有段子 由于网站经常更新,需要在更新后及时修改代码,如何修改在糗事百科网上按F12进行页面审查 # -*- coding:utf-8 -*- import urllib impor…
编写qsbk_spider.py爬虫文件 # -*- coding: utf-8 -*- import scrapy from qsbk.items import QsbkItem from scrapy.http.response.html import HtmlResponse from scrapy.selector.unified import SelectorList class QsbkSpiderSpider(scrapy.Spider): name = 'qsbk_spider'…
一个偶然的机会接触了Python,感觉很好用,但是一直在看c++啥的,也没系统学习.用过之后也荒废了许久.之前想建个公众号自动爬糗事百科的段子,但是没能建起来,真是尴尬,代码上传的服务器上之后,不能正确回复公众号的消息. 听说微信是有个什么调试功能,但我也不会用,后来就开始考试,给忘了这件事.今天看见了之前学习的糗百的爬虫代码,也算是第一次写,写个帖子纪念一下. 从中还是学习了有关正则表达式的许多知识,不过糗百的网页有时候会更新结构,正则表达式就要从写...这个要是能自动生成正则表达式就好了..…
上回我们说到 python爬虫29 | 使用scrapy爬取糗事百科的例子,告诉你它有多厉害! WOW!! scrapy awesome!! 怎么会有这么牛逼的框架 wow!! awesome!! 用 scrapy 来爬取数据 岂!不!是!非!常!爽! wow!! 接下来就是我独享的moment 哦不 接下来就是 学习 python 的正确姿势 我们已经创建了爬取糗事百科的项目 并且把糗事百科的前两页的作者和段子爬取到 json 文件了 这次 我们将我们要爬取所有的数据 使用 scrapy 存储…
是时候给你说说 爬虫框架了 使用框架来爬取数据 会节省我们更多时间 很快就能抓取到我们想要抓取的内容 框架集合了许多操作 比如请求,数据解析,存储等等 都可以由框架完成 有些小伙伴就要问了 你他妈的 为什么不早点说呢? 是这样的 当你不知道 1+1 是什么的时候 你去使用计算器来计算 也是没用的 对吧 所以框架的使用 在现在这个时候(爬虫28篇之后)讲 就是一个不错的时机 今天 小帅b就跟你说说 scrapy这个框架 到底有多牛b 那么 接下来就是 学习 python 的正确姿势 要使用 scr…
初次学习爬虫技术,在知乎上看了如何爬去糗事百科的段子,于是打算自己也做一个. 实现目标:1,爬取到糗事百科的段子 2,实现每次爬去一个段子,每按一次回车爬取到下一页 技术实现:基于python的实现,利用Requests库,re库,bs4库的BeautifulSoup方法来实现的 主要内容:首先我们要理清一下爬取实现的思路,我们来构建一下主体框架.第一步我们先写一个利用Requests库来获取网页的方法,第二步我们利用bs4库的BeautifulSoup方法来分析所获取的网页信息并利用正则表达式…
糗事百科实例 爬取糗事百科段子,假设页面的URL是: http://www.qiushibaike.com/8hr/page/1 要求: 使用requests获取页面信息,用XPath/re做数据提取 获取每个帖子里的用户头像连接.用户姓名.段子内容.点赞次数和评论次数 保存到json文件内 参考代码 #-*- coding:utf-8 -*- import requests from lxml import etree page = 1 url = 'http://www.qiushibaik…
多线程糗事百科案例 案例要求参考上一个糗事百科单进程案例:http://www.cnblogs.com/miqi1992/p/8081929.html Queue(队列对象) Queue是python中的标准库,可以直接import Queue引用:队列时线程间最常用的交互数据的形式. python下多线程的思考 对于资源,加锁是个重要的环节.因为python原生的list,dict等,都是not thread safe的.而Queue,是线程安全的,因此在满足使用条件下,建议使用队列 初始化:…
前言:有时候无聊看一些搞笑的段子,糗事百科还是个不错的网站,所以就想用Python来玩一下.也比较简单,就写出来分享一下.嘿嘿 环境:Python 2.7 + win7 现在开始,打开糗事百科网站,先来分析.地址:https://www.qiushibaike.com 一般像这种都是文本的话,查看源代码就可以看到内容了. 已经可以看到都是在一个class 为content 的div里面,这样就很简单了,直接上正则表达式来匹配就好了. <div.*?class="content"&…