# -*- coding: cp936 -*-

import urllib,urllib2
from bs4 import BeautifulSoup user_agent='Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.221 Safari/537.36 SE 2.X MetaSr 1.0'
headers={
'User-Agent':user_agent
}
url='https://www.qiushibaike.com' #----------------------
def getcode(url):
req=urllib2.Request(url,headers=headers)
html=urllib2.urlopen(req).read()
soup=BeautifulSoup(html,'html.parser')
content=soup.select('.content')[0].stripped_strings
print '内容:'
for i in content:
print i def getinfo(x):
q=0
for m in range(x): print '获取第%s页'%str(m+1)
murl='https://www.qiushibaike.com/text'+'/page/'+str(m+1) req=urllib2.Request(murl,headers=headers) html=urllib2.urlopen(req,timeout=60).read().decode('utf-8') #创建beautiful对象
#创建本地HTML对象:soup=BeautifulSoup(open('index.html'))
soup=BeautifulSoup(html,'html.parser') #打印HTML内容 print soup.prettify()
authors=soup.select('h2')
article=soup.select('.contentHerf')
jokes=soup.select('.stats-vote > .number')
comment_num=soup.select('.stats-comments > .qiushi_comments > .number') #获取界面上的文字
##print '内容:',article[0].span.string.strip() ##获取链接文字
n=0
for a in article: print '获取第%s页第%s条'%(str(m+1),str(n+1))
print '作者:',authors[n].string.strip()
print '好笑数:',jokes[n].string
article_url=article[n]['href'] article_url=url+article_url
#print article_url
getcode(article_url) print '评论数:',comment_num[n].string
n+=1
q+=1
print '\n'
print '总共%s条数据'%q nu=raw_input('获取多少页:')
nu=int(nu) #设置重新获取数据次数 tries=1
try:
getinfo(nu)
except: print u'爬取数据出错。。。'

BS4爬取糗百的更多相关文章

  1. Python 爬虫入门(一)——爬取糗百

    爬取糗百内容 GitHub 代码地址https://github.com/injetlee/Python/blob/master/qiubai_crawer.py 微信公众号:[智能制造专栏],欢迎关 ...

  2. python实战项目 — 使用bs4 爬取猫眼电影热榜(存入本地txt、以及存储数据库列表)

    案例一: 重点: 1. 使用bs4 爬取 2. 数据写入本地 txt from bs4 import BeautifulSoup import requests url = "http:// ...

  3. 使用request+bs4爬取所有股票信息

    爬取前戏 我们要知道利用selenium是非常无敌的,自我认为什么反爬不反爬都不在话下,但是今天我们为什么要用request+bs4爬取所有股票信息呢?因为他比较原始,因此今天的数据,爬取起来也是比较 ...

  4. BS4爬取物价局房产备案价以及dataframe的操作来获取房价的信息分析

    因为最近要买房子,然后对房市做了一些调研,发现套路极多.卖房子的顾问目前基本都是一派胡言能忽悠就忽悠,所以基本他们的话是不能信的.一个楼盘一次开盘基本上都是200-300套房子,数据量虽然不大,但是其 ...

  5. BS4爬取豆瓣电影

    爬取豆瓣top250部电影 ####创建表: #connect.py from sqlalchemy import create_engine # HOSTNAME='localhost' # POR ...

  6. 针对源代码和检查元素不一致的网页爬虫——利用Selenium、PhantomJS、bs4爬取12306的列车途径站信息

    整个程序的核心难点在于上次豆瓣爬虫针对的是静态网页,源代码和检查元素内容相同:而在12306的查找搜索过程中,其网页发生变化(出现了查找到的数据),这个过程是动态的,使得我们在审查元素中能一一对应看到 ...

  7. python使用bs4爬取boss静态页面

    思路: 1.将需要查询城市列表,通过城市接口转换成相应的code码 2.遍历城市.职位生成url 3.通过url获取列表页面信息,遍历列表页面信息 4.再根据列表页面信息的job_link获取详情页面 ...

  8. python+selenium+bs4爬取百度文库内文字 && selenium 元素可以定位到,但是无法点击问题 && pycharm多行缩进、左移

    先说一下可能用到的一些python知识 一.python中使用的是unicode编码, 而日常文本使用各类编码如:gbk utf-8 等等所以使用python进行文字读写操作时候经常会出现各种错误, ...

  9. bs4爬取笔趣阁小说

    参考链接:https://www.cnblogs.com/wt714/p/11963497.html 模块:requests,bs4,queue,sys,time 步骤:给出URL--> 访问U ...

随机推荐

  1. C#设计模式(5)-建造者模式

    引言 上一篇介绍了设计模式中的抽象工厂模式-C#设计模式(3)-抽象工厂模式,本篇将介绍建造者模式: 点击这里查看全部设计模式系列文章导航 建造者模式简介 建造者模式是将一个复杂对象的构建与表示分离, ...

  2. vue2+swiper(用户操作swiper后,不能autoplay了)

    将autoplayDisableOnInteraction设置为false

  3. 基于NIOS-II的示波器:PART4 系统调试&测试

    本文记录了在NIOS II上实现示波器的第四部分. 本文主要包括:修改部分BUG,以及测试 本文所有的硬件以及工程参考来自魏坤示波仪,重新实现驱动并重构工程. version 1.0 界面修改& ...

  4. 集美大学网络1413第十一次作业成绩(团队七) -- Alpha冲刺之事后诸葛亮

    题目 团队作业7--Alpha冲刺之事后诸葛亮 团队作业7成绩  团队/分值 设想和目标 计划 资源 变更管理 设计/实现 测试/发布 团队角色. 管理.合作 总结 讨论照片 团队成员 角色.贡献 总 ...

  5. 微信小程序icon,text,progress标签的测试

    一:testIconAndTextAndProgress.wxml的代码如下.testIconAndTextAndProgress.js自动生成示例代码 //testIconAndTextAndPro ...

  6. 201521123013 《Java程序设计》第6周学习总结

    1. 本章学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图,对面向对象思想进行一个总结. 2. 书面作业 Q1.clone方法 1.1 Object ...

  7. 201521123071《java程序设计》第三周学习总结

    1. 本周学习总结 这周主要学习了构造函数,类与对象,就是这周事情很多,还没来得及好好复习,所以有很多知识都没有认识透彻.但我会尽力补上的. http://images2015.cnblogs.com ...

  8. Python[小甲鱼009了不起的分支和循环3]

    for语句语法: for 目标 in 表达式: 循环体 例子1: favourite = 'Idmask' for i in favourite: print(i, end= ' ') 上面的输出结果 ...

  9. 201521123011《Java程序设计》第10周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常与多线程相关内容. 2. 书面作业 本次PTA作业题集异常.多线程 1.finally 题目4-2 1.1 截图你的提交结果(出 ...

  10. 压缩空格的函数以及BCD码与ASCII相互转换函数

    /**函数名:zip_space功能 :压缩空格的函数参数 : s 源字符串返回值: 0 成功**/ int zip_space(char *s){ int i,j; int len; ) { ; } ...