学习完上一篇文章,我们需要了解我们需要爬虫的网站的一些数据信息,也就是一些html标签。
bs4中最重要的就是数据的分类,解析,获取过程。
即:
response = urllib2.urlopen(res)
html = response.read()
soup = BeautifulSoup(html, "lxml")
someData = soup.select("div.content span")
这里的soup.select括号中的数据,是非常重要的。
如下图,我们如何定位select中的标签:
通过红线标记的地方,我们可以直接看到这里的div 的标签的数据,就是上面每一条段子的数据内容,所以,
我们先写一条

 someData = soup.select("div.content")
进行一下测试:
调试推荐大家使用ipython工具,非常方便我们分析数据:
不截图了,直接复制文字:

suz@suz9527:~/Pytools$ ipython
Python 2.7.6 (default, Jun 22 2015, 17:58:13) 
Type "copyright", "credits" or "license" for more information.

IPython 5.1.0 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.

In [1]: from bs4 import BeautifulSoup

In [2]: import urllib2

In [3]: url = 'http://www.qiushibaike.com/text/page/1/'

In [4]: heads = {
   ...: 
   ...:         'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.75 Safari/537.36',
   ...:         'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
   ...:         'Connection': 'keep-alive',
   ...:         'Upgrade-Insecure-Requests': '1',
   ...:         'Referer': 'http://www.qiushibaike.com/',
   ...:         'Accept-Language': 'zh-CN,zh;q=0.8',
   ...:         'Cookie': '_xsrf=2|db27040e|6b4ed8d9536590d4ec5d2064cc2bef4f|1474364551; _qqq_uuid_="2|1:0|10:1474364551|10:_qqq_uuid_|56:MzBlNWFkOGE3MWEyMzc1MWIxMTE3MDBlZjM2M2RkZWQxYzU5YTg1Yw==|1dd2a4f4ce
   ...: acad26b5da9cc295d2965226ea25ee73289855cf032629c4992698"; Hm_lvt_2670efbdd59c7e3ed3749b458cafaa37=1474364592; Hm_lpvt_2670efbdd59c7e3ed3749b458cafaa37=1474364595; _ga=GA1.2.1125329542.1474364596'
   ...: 
   ...:     }

In [5]: res = urllib2.Request(url, headers=heads)

In [6]: response = urllib2.urlopen(res)

In [7]: html = response.read()
   ...:

In [8]: soup = BeautifulSoup(html, "lxml")

In [9]:

response = urllib2.urlopen(res)
html = response.read()
soup = BeautifulSoup(html, "lxml")
someData = soup.select("div.content span")

[<div class="content">\n<span>

In [10]: print someData

我们可以看到结果中

[<div class="content">\n<span>
有这么一行span属性,所以我们修改一下上面的select为:
someData = soup.select("div.content span")
查看刚才的输出结果:

In [11]: someData = soup.select("div.content span")

In [12]: print someData

这里的someData其实是个list,所以我们写个for循环输出一下可以看到:
好了,说明我们的想要得到的结果已经正常显示出来了。
下面是完整的代码,加上一些修饰处理:
# -*- coding: utf-8 -*-
from bs4 import BeautifulSoupimport urllib2def getContent(n):url = 'http://www.qiushibaike.com/text/page/' + str(n) + '/'#url = 'http://www.qiushibaike.com/8hr/page/'+str(n)+'/'print urlheads = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.75 Safari/537.36','Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8','Connection': 'keep-alive','Upgrade-Insecure-Requests': '1','Referer': 'http://www.qiushibaike.com/','Accept-Language': 'zh-CN,zh;q=0.8','Cookie': '_xsrf=2|db27040e|6b4ed8d9536590d4ec5d2064cc2bef4f|1474364551; _qqq_uuid_="2|1:0|10:1474364551|10:_qqq_uuid_|56:MzBlNWFkOGE3MWEyMzc1MWIxMTE3MDBlZjM2M2RkZWQxYzU5YTg1Yw==|1dd2a4f4ceacad26b5da9cc295d2965226ea25ee73289855cf032629c4992698"; Hm_lvt_2670efbdd59c7e3ed3749b458cafaa37=1474364592; Hm_lpvt_2670efbdd59c7e3ed3749b458cafaa37=1474364595; _ga=GA1.2.1125329542.1474364596'}res = urllib2.Request(url, headers=heads)response = urllib2.urlopen(res)html = response.read()soup = BeautifulSoup(html, "lxml")someData = soup.select("div.content span")num = 0for some in someData:num = num + 1print numprint some.text + '\n'if __name__ == "__main__":for i in range(1, 5):getContent(i)
最终效果图:

跟着鬼哥学爬虫-2-糗事百科相关推荐

  1. 跟着鬼哥学爬虫-10-python微信-5-加上了人工智能回复!

    跟着鬼哥学爬虫-10-python微信-5-加上了人工智能回复! 其实人工智能回复,现在网上有很多开源的机器学习,AI学习的框架,但是最重要的一点就是没有语料,也就是没有相互回答的数据内容. 所以这个 ...

  2. 跟着鬼哥学爬虫-5-更新妹子图库质量,提高微信群聊发图速度

    跟着鬼哥学爬虫-5-更新妹子图库质量,提高微信群聊发图速度 第三篇中的图库,群里大家都说质量稍微次一点,现在重新爬了个网站更新一下. 比上一篇的代码也优化了一点,对于自动保存的文件名,采用数字方式直接 ...

  3. 跟着鬼哥学爬虫-3-美女图片!!!

    这一节课,是群里很多娃在等待的课程. 通过前面两篇文章的学习,我们对BeautifulSoup4的简单使用有了了解. 了解了使用这个爬虫的核心是熟悉分析清楚html标签,一些css的简单知识,找准了标 ...

  4. python爬虫案例——糗事百科数据采集

    全栈工程师开发手册 (作者:栾鹏) python教程全解 python爬虫案例--糗事百科数据采集 通过python实现糗事百科页面的内容采集是相对来说比较容易的,因为糗事百科不需要登陆,不需要coo ...

  5. Android实战——jsoup实现网络爬虫,糗事百科项目的起步

    Android实战--jsoup实现网络爬虫,爬糗事百科主界面 本篇文章包括以下内容: 前言 jsoup的简介 jsoup的配置 jsoup的使用 结语 前言 对于Android初学者想要做项目时,最 ...

  6. python爬虫之糗事百科

    历经1个星期的实践,终于把python爬虫的第一个实践项目完成了,此时此刻,心里有的只能用兴奋来形容,后续将继续加工,把这个做成一个小文件,发给同学,能够在cmd中运行的文件.简化版程序,即单单爬取页 ...

  7. Python爬虫实战糗事百科实例

    爬取糗事百科段子,假设页面的URL是 http://www.qiushibaike.com/8hr/page/1 要求: 使用requests获取页面信息,用XPath / re 做数据提取 获取每个 ...

  8. 爬虫——多线程糗事百科案例

    Queue(队列对象) Queue是python中的标准库,可以直接import Queue引用;队列是线程间最常用的交换数据的形式 python下多线程的思考 对于资源,加锁是个重要的环节.因为py ...

  9. 跟着鬼哥学so改动,二,进行篇

    图/文  听鬼哥说故事 继续上文的内容---------------------------------- 0x1:測试文件的编写 经过上一篇文章的基础学习,如今我们開始进行是用的部分. 既然我们能够 ...

  10. 跟着鬼哥学so改动,一,准备篇

    图/文 听鬼哥说故事 闲话少说,so的改动,重要性大家都知道,这里从头编写so文件,分析so文件,改动so文件,打算做一个系列的教程,当然,主要是看时间同意. android的sdk配置以及ndk环境 ...

最新文章

  1. 关于计算机图形标准化的论述 哪个是正确的,地大《计算机图形学(新)》在线作业 参考资料...
  2. spring整合webservice
  3. Qt on android 蓝牙开发(控制小车)
  4. 博客转移至 https://www.babac.cn/
  5. 《.NET Core 和前后端那些事儿》技术交流活动纪实
  6. checkbox对齐排列
  7. ssis 包_SSIS包中的错误处理概述
  8. 图片流_干货来袭!web前端开发工程师必看之如何使用CSS3实现瀑布流效果?
  9. 漫城cms免费漫画+小说cms系统
  10. 《等级保护二级基本要求》
  11. 随意编辑网页内容的简单方法
  12. SPSS如何使用基础功能?
  13. win10系统更新完部分电脑亮度无法调节或者找不到模块
  14. 理论+实操:K8S的pod健康检查——live、ready、startup
  15. js获取浏览器和设备相关宽度和高度
  16. multiprocessing.dummy python使用笔记
  17. javaWeb基础二:Servlet(java前后端交互的技术)
  18. “应用程序配置不正确,应用程序未能启动” 错误的解决
  19. 安卓饼状图设置软件_饼图生成器app下载|饼图生成器安卓版下载_v1.1.0_9ht安卓下载...
  20. 跨境电商选品重要吗?

热门文章

  1. 抗锯齿_《战地V》深度学习抗锯齿性能测试:对它最友好的竟然是4K
  2. 五月花计算机cD专业,成都五月花计算机专业学校的学费是多少?
  3. position四个属性值的关系
  4. 第二章.JSP/Servlet及相关技术详解
  5. Python 实用技巧
  6. 68.vivado与modelsim的关联以及器件库编译
  7. CentOS 下安装配置mongodb
  8. 局部搜索算法 之 局部搜索算法,爬山法,模拟退火,集束搜索,遗传算法
  9. 华中师范大学计算机学院在哪个校区,关于《计科,你的力量在哪里?》★华师计算机科学系★研究生情况~~过来人指点下...
  10. matlab阅读怎么放大镜,matlab局部放大