[Python]爬取糗事百科

# coding=utf-8
import urllib2
import urllib
import re

class QiuShi:
   def _init_(self):
      self.page = 1
   # 从网页获取糗事
   def GetQiuShis(self,page):
	  #网址
      url = "http://www.qiushibaike.com/hot/page/"+page
	  #伪装浏览器
      user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'
      headers = {'user-Agent':user_agent}
	  #请求
      req = urllib2.Request(url,headers = headers)
      response = urllib2.urlopen(req)
      html = response.read()
      #encode的作用是将unicode编码转换成其他编码的字符串
      #decode的作用是将其他编码的字符串转换成unicode编码
      unicodeHtml = html.decode("utf-8")
      items = re.findall('<div.*?class="content".*?title="(.*?)">(.*?)</div>',unicodeHtml,re.S)
      contents = []
      for item in items:
         # item 中第一个是div的标题,也就是时间
         # item 中第二个是div的内容,也就是内容
         contents.append([item[0].replace("\n",""),item[1].replace("\n","")])
      return contents

   #打印糗事
   def ShowQiuShi(self,contents):
      count = 1
      for content in contents:
         print "第%d条糗事" % count,content[0],"\n"
         print content[1],"\n"
         count += 1
   #启动
   def Start(self):
      page = 1
      while page < 5:
         print "第%d页:\n" % page
         contents = self.GetQiuShis(str(page))
         self.ShowQiuShi(contents)
         page += 1
qiuShi = QiuShi()
qiuShi.Start()

时间: 2024-11-05 17:28:19

[Python]爬取糗事百科的相关文章

使用Python爬取糗事百科热门文章

默认情况下取糗事百科热门文章只有35页,每页20条,根据下面代码可以一次性输出所有的文章,也可以选择一次输出一条信息,回车继续.不支持图片内容的显示,显示内容包括作者,热度(觉得好笑的人越多,热度越高),内容.从热度最高开始显示到最低.实现代码如下: #!/usr/bin/python #coding:utf8 """ 爬取糗事百科热门文章 """ import urllib2 import re #模拟浏览器访问,否则无法访问 user_age

python爬取糗事百科段子

初步爬取糗事百科第一页段子(发布人,发布内容,好笑数和评论数) 1 #-*-coding:utf-8-*- 2 import urllib 3 import urllib2 4 import re 5 page = 1 6 url ='http://www.qiushibaike.com/hot/page/'+str(page) #第一页URL 7 headers={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:43.0) Gecko/

python 爬取糗事百科 gui小程序

前言:有时候无聊看一些搞笑的段子,糗事百科还是个不错的网站,所以就想用Python来玩一下.也比较简单,就写出来分享一下.嘿嘿 环境:Python 2.7 + win7 现在开始,打开糗事百科网站,先来分析.地址:https://www.qiushibaike.com 一般像这种都是文本的话,查看源代码就可以看到内容了. 已经可以看到都是在一个class 为content 的div里面,这样就很简单了,直接上正则表达式来匹配就好了. <div.*?class="content"&

Python爬取糗事百科示例代码

参考链接:http://python.jobbole.com/81351/#comment-93968 主要参考自伯乐在线的内容,但是该链接博客下的源码部分的正则表达式部分应该是有问题,试了好几次,没试成功.后来在下面的评论中看到有个使用BeautifulSoup的童鞋,试了试,感觉BeautifulSoup用起来确实很便捷. 1 # -*- coding:utf-8 -*- 2 3 ''' 4 Author:LeonWen 5 ''' 6 7 import urllib 8 import ur

Python 爬取糗事百科段子

直接上代码 #!/usr/bin/env python # -*- coding: utf-8 -*- import re import urllib.request def gettext(url,page): headers=("User-Agent","Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/53

爬取糗事百科的图片

小编,最近写了个单线程的爬虫,主要是爬取糗事百科的图片之类的,下面是源代码,小伙伴们可以拿去参照,学习 #!/usr/bin/env python# -*- coding:utf-8 -*-import requests,jsonimport requests,re,os,timeimport urllib.requestimport urllib.parseimport sslimport unittestfrom selenium import webdriver headers = {"U

PHP爬取糗事百科首页糗事

突然想获取一些网上的数据来玩玩,因为有SAE的MySql数据库,让它在那呆着没有什么卵用!于是就开始用PHP编写一个爬取糗事百科首页糗事的小程序,数据都保存在MySql中,岂不是很好玩! 说干就干!首先确定思路 获取HTML源码--->解析HTML--->保存到数据库 没有什么难的 1.创建PHP文件"getDataToDB.php", 2.获取指定URL的HTML源码 这里我用的是curl函数,详细内容参见PHP手册 代码为 <span style="fo

python3 爬虫之爬取糗事百科

闲着没事爬个糗事百科的笑话看看 python3中用urllib.request.urlopen()打开糗事百科链接会提示以下错误 http.client.RemoteDisconnected: Remote end closed connection without response 但是打开别的链接就正常,很奇怪不知道为什么,没办法改用第三方模块requests,也可以用urllib3模块,还有一个第三方模块就是bs4(beautifulsoup4) requests模块安装和使用,这里就不说

多线程爬取糗事百科热门段子 (改写前天的博客)

利用多线程爬取,除了先前用到的几个模块之外,还需用到threading模块和queue模块: 为每一件事情开启一个线程:构造url_list.发送请求.提取数据.保存数据 __init__方法添加三个实例属性队列分别存放:url.响应内容.处理后的数据 改写原先每一个方法里的代码,需要的东西直接从队列中取出,此时方法都无需多余参数了 每当从一个队列取出数据,记得执行task_done()方法,使计数减一 run()方法里把yaozhixing的事情都开启一个线程,比较慢的事情,比如网络请求,可以