# python 3.7
from urllib.request import Request,urlopen
import re,time class Neihan(object):
def __init__(self):
self.header={
'Host': 'www.neihan8.com',
'Referer': 'https: // www.neihan8.com / njjzw //',
'Upgrade - Insecure - Requests': 1,
'User - Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36',
"Cookie": 'UM_distinctid=1673e837ae7146-0363c5477e0b8a-424f0928-13c680-1673e837ae9355; CNZZDATA1274349754=965294396-1542939999-%7C1542939999; Hm_lvt_94f4eb93f17efa632a5c8a01b23da410=1542942067; npreuecookieclassrecord=%2C2%2C14%2C1%2C; CNZZDATA5804950=cnzz_eid%3D222162018-1542942068-https%253A%252F%252Fwww.neihan8.com%252F%26ntime%3D1542942068; Hm_lpvt_94f4eb93f17efa632a5c8a01b23da410=1542943190'
}
self.static = 'https://www.neihan8.com/njjzw/' def getPage(self,url,refer=None):
res = urlopen(Request(url=url,headers=self.header)).read()
self.parsePage(res.decode(),refer) def parsePage(self,htmlres,*args):
patten = 'class="title" title=".*?">(.*?)</a></h3>\s+<div class="desc">(.*?)</div>'
p = re.findall(patten,htmlres)
self.writePge(p,args) def writePge(self,p,*args): with open('11.txt','a+',encoding='utf8') as f:
print(args)
for i in p:
if args[0][0] is not None:
print(args)
f.write('问题:'+i[0]+'\n'+args[0][0]+i[1].strip()+'\n')
else:
f.write('问题:'+i[0]+'\n'+i[1].strip()+'\n')
f.write('\n') def workon(self):
# 爬取 20 页
for i in range(1,10):
if i == 1:
url = self.static
self.getPage(url, refer='答案:')
else:
url = self.static+'index_%s.html'%i
self.getPage(url) time.sleep(2) if __name__ == '__main__':
spider = Neihan()
spider.workon()

内涵段子——脑筋急转弯——spider的更多相关文章

  1. 内涵段子爬取及re匹配

    案例:使用正则表达式的爬虫 现在拥有了正则表达式这把神兵利器,我们就可以进行对爬取到的全部网页源代码进行筛选了. 下面我们一起尝试一下爬取内涵段子网站: http://www.neihan8.com/ ...

  2. iOS高仿app源码:纯代码打造高仿优质《内涵段子》

    iOS高仿app源码:纯代码打造高仿优质<内涵段子>收藏下来 字数1950 阅读4999 评论173 喜欢133 Github 地址 https://github.com/Charlesy ...

  3. python内涵段子爬取练习

    # -*- coding:utf-8 -*-from urllib import request as urllib2import re# 利用正则表达式爬取内涵段子url = r'http://ww ...

  4. 没有内涵段子可以刷了,利用Python爬取段友之家贴吧图片和小视频(含源码)

    由于最新的视频整顿风波,内涵段子APP被迫关闭,广大段友无家可归,但是最近发现了一个"段友"的app,版本更新也挺快,正在号召广大段友回家,如下图,有兴趣的可以下载看看(ps:我不 ...

  5. python爬虫(四) 内涵段子

    import requests import time import json from urllib import request from urllib import parse url = 'h ...

  6. python抓取内涵段子文章

    # coding:utf-8 from urllib.request import urlretrieve import threading import requests from bs4 impo ...

  7. Spider_reg

    # 解析 数据的分类 结构化数据 有固定的格式,如 :HTML.XML.JSON 非结构化数据 图片.音频.视频,这类数据一般都存储为二进制 # 正则表达式 re 使用流程 创建编译对象:p = re ...

  8. 【爬虫入门01】我第一只由Reuests和BeautifulSoup4供养的Spider

    [爬虫入门01]我第一只由Reuests和BeautifulSoup4供养的Spider 广东职业技术学院  欧浩源 1.引言  网络爬虫可以完成传统搜索引擎不能做的事情,利用爬虫程序在网络上取得数据 ...

  9. 11-内涵段子-爬虫(python+正则)

    爬取内涵段子,使用正则进行简单处理: #_*_ coding: utf-8 _*_ ''' Created on 2018年7月14日 @author: sss function:爬去内涵段子(静态网 ...

随机推荐

  1. Java环境中,word文档转PDF直接打开浏览而非下载

    在平台上,需要把文档直接浏览而非下载,实现方法是先把文档转为PDF文件, 但在linux系统中确实汉字字库,所以转换失败,以下是解决方法 后面正式服务器也要添加字库,不然会转换出乱码文件,处理步骤如下 ...

  2. PHP和MySQL.Web开发(原书第4版)学习盲点笔记

    1.浏览器输出中文乱码解决: <?php header("Content-type: text/html; charset=utf-8"); ?> 相当于html中的: ...

  3. PostgreSQL学习笔记——内置函数

    算术函数(数值计算) +(加).-(减).*(乘)./(除) ABS函数--绝对值: ABS(数值) MOD--求余: MOD(被除数,除数) ROUND--四舍五入: ROUND(对象数值,保留小数 ...

  4. easyui-datagrid配置宽度高度自适应

    在style属性中,去除之前添加的width和height属性(如果有的话),然后添加"fit:false"即可.

  5. iOS-UIToolbar与UISearchBar

    组件_ UIToolbar  /** 1. 顶部toolbar 2. TextField可以以UIBarButtonItem的自定义视图的方式加入toolbar 3. 三个按钮 4. 将UIBarBu ...

  6. EasyNetQ使用(七)【发布者确认 ,用Future Publish发布预定中事件 】

    AMQP发布消息默认情况下是非事务性的,不能确保你的消息真正送达代理.AMQP可以去指定事务性发布,但是RabbitMQ这样会非常慢,我们没有让EasyNetQ API去支持此功能.为了高效的确保投递 ...

  7. Turbine聚合https微服务

  8. C语言获取文件大小相关操作

    C语言获取文件大小相关操作 声明:引用请注明出处http://blog.csdn.net/lg1259156776/ 说明 通常在希望从文件中把数据全都出来赋值给一个数组或者某一个指针,然后再进行相关 ...

  9. [转帖]从光刻机的发展,看懂ASML为何是不可取替

    从光刻机的发展,看懂ASML为何是不可取替 http://mini.eastday.com/mobile/171230223351249.html# 2017-12-30 22:33    来源:半导 ...

  10. gdb 常用命令总结(精优)

    格式说明: [xxx]:可选参数,即可以指定可以不指定,实际输入的内容是 xxx <xxx>:占位参数,即必须指定的参数,实际输入的内容是 xxx gdb 常用命令: gdb [file] ...