python函数的内涵_python内涵段子文章爬取

全文简介

使用python中简单的爬虫知识,对内涵段子的文章进行爬取。

需要用到的模块:requests模块和time模块。

需要的程序编辑软件:Pycharm

程序流程

1> 获取URL:进入内涵段子官网,动态网页信息获取使用F12,点击Network,确定显示灯为红色,使用all。点击“加载更多”,获取信息,找到json文件,获取文章网址。

2> 进行抓包,获取文章内容。

3> 翻页操作。时间戳max_time的存在,使得可以通过获取max_time来进行翻页功能。Unix时间戳(Unixtimestamp),或称Unix时间(Unixtime)、POSIX时间(POSIXtime),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总毫秒数。

4> 添加headers。网站自己都会有反爬功能,当我们不添加headers时,网站不承认是内部访问,会出现爬取信息重复等问题。

程序复现

#导入模块

import requests

import time

#复制网址

url = 'https://neihanshequ.com/joke/?is_json=1&app_name=neihanshequ_web&max_time=1521174524'

html = requests.get(url)

#获取max_time

maxTimeData = html.json()['data']['max_time']

#添加headers

header = {'Accept':'application/json, text/javascript, */*; q=0.01',

'Accept-Encoding':'gzip, deflate, sdch, br',

'Accept-Language':'zh-CN,zh;q=0.8',

'Connection':'keep-alive',

'Cookie':'uuid="w:75f40cfa476b42f38467bdd14f4e8532"; __guid=101886750.3873194365346073600.1521180227278.0383; tt_webid=6533419315906250243; csrftoken=39829a188b3ab17a8a5a072b729345d3; monitor_count=7; _ga=GA1.2.1404692264.1521180230; _gid=GA1.2.1807126790.1521180230',

'Host':'neihanshequ.com',

'Referer':'https://neihanshequ.com/',

'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36',

'X-CSRFToken':'39829a188b3ab17a8a5a072b729345d3',

'X-Requested-With':'XMLHttpRequest'}

#进入循环,翻页功能,文章获取并写入

while type(maxTimeData) == float or type(maxTimeData) == int:

#使用tile模块进行延时

time.sleep(3)#延时3s

url = 'https://neihanshequ.com/joke/?is_json=1&app_name=neihanshequ_web&max_time=' + str(maxTimeData)

html = requests.get(url,headers = header)

with open(r'C:\Users\Administrator\Desktop\data.txt','a',encoding='utf-8') as f:

for n in range (len(html.json()['data']['data'])):

data = (html.json()['data']['data'][n]['group']['content'])

f.write(data + '\n')

maxTimeData = html.json()['data']['max_time']

#输出max_time,提示翻页次数

print (maxTimeData)

结果展示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值