Python爬虫知乎文章,采集新闻60秒
前言
发现很多人需要新闻的接口,所以自己去搜索了下,发现知乎上正好有对应的用户每天发布新闻简讯,所以自己想写一个新闻的爬虫。如果想做成接口的话,可以加上flask模块即可,这里就暂时只进行爬虫部分的编写。
目标站点
网址:https://www.zhihu.com/people/mt36501
通过这个网址进去,我只想要今天的内容,所以还要进行过滤。

开始编写代码
# 导入要使用的库
import requests, re, time
# 目标网址
url = 'https://www.zhihu.com/people/mt36501'
# 模拟请求头
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) '
'Chrome/70.0.3538.102 Safari/537.36 Edge/18.18362',
'Accept': 'image/png, image/svg+xml, image/*; q=0.8, */*; q=0.5',
}
# 请求网址返回内容
resp = requests.get(url,headers=headers).text
# 过滤标题
h2 = re.findall(r'<h2 class="ContentItem-title">.*?</h2>', resp, re.S)
# 遍历每一个标题,因为发现有时候会发与新闻不想关的内容
for i in h2:
# 获取当前日期
now_time = time.strftime("%#m月%#d日", time.localtime())
# 过滤出链接
link = re.findall(r'href="(.*?)"', str(i), re.S)[0]
# 过滤出标题
title = re.findall(r'Title">(.*?)</a>', str(i), re.S)
# 如果为空跳过
if title == []:
continue
else:
# 获取文章的日期
title = str(title[0]).split(',')[0]
# 文章日期与当前日期比较
if title == now_time and link != '':
#print(title, link)
# 如果日期为今天,请求对应的网址,获取对应文章的内容
con_resp = requests.get('https:' + link, headers=headers).text
# 只要我们想要的内容,并过滤掉一些字符
p = re.findall(r'<p>(.*?)</p>', con_resp.replace('"', '"').replace('&', '&'), re.S)
sum = 0
text = ''
# 遍历每一条获取到的新闻赋值给text
for index, i in enumerate(p):
sum += 1
if sum == 1 | sum == 3:
continue
print(i)
elif i == '':
print(i)
continue
else:
if index == len(p) - 1:
text += i
else:
text += i + '\n\n'
print(text)
Python爬虫知乎文章,采集新闻60秒的更多相关文章
- python爬虫知乎问答
python爬虫知乎问答 import cookielibimport base64import reimport hashlibimport jsonimport rsaimport binasci ...
- python爬虫知乎
在之前写过一篇使用python爬虫爬取电影天堂资源的博客,重点是如何解析页面和提高爬虫的效率.由于电影天堂上的资源获取权限是所有人都一样的,所以不需要进行登录验证操作,写完那篇文章后又花了些时间研究了 ...
- 如何利用 Python 爬虫实现给微信群发新闻早报?(详细)
1. 场景 经常有小伙伴在交流群问我,每天的早报新闻是怎么获取的? 其实,早期使用的方案,是利用爬虫获取到一些新闻网站的标题,然后做了一些简单的数据清洗,最后利用 itchat 发送到指定的社群中. ...
- python爬虫-知乎登录
#!/usr/bin/env python3 # -*- coding: utf-8 -*- ''' Required - requests (必须) - pillow (可选) ''' import ...
- python爬虫,爬取一系列新闻
这个作业的要求来自于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2941. 由于存在多次请求,所以稍微将请求封装如下 def tr ...
- Python爬虫 —— 知乎之selenium模拟登陆获取cookies+requests.Session()访问+session序列化
代码如下: # coding:utf-8 from selenium import webdriver import requests import sys import time from lxml ...
- python爬虫---表情包批量采集
代码: import requests from pyquery import PyQuery as pq # 比xpath还要灵活的html解析工具 # 定义请求 headers = { " ...
- python爬虫---豆瓣Top250电影采集
代码: import requests from bs4 import BeautifulSoup as bs import time def get_movie(url): headers = { ...
- python爬虫---虎牙直播封面采集
代码: import requests from lxml import etree # html解析库 source = requests.get("https://www.huya.co ...
随机推荐
- 文件描述符(File Descriptor)简介
本文转载自文件描述符(File Descriptor)简介 导语 维基百科:文件描述符在形式上是一个非负整数.实际上,它是一个索引值,指向内核为每一个进程所维护的该进程打开文件的记录表.当程序打开一个 ...
- Docker Tips: 关于/var/run/docker.sock
本文转载自Docker Tips: 关于/var/run/docker.sock 导语 你可能已经运行过docker hub上的container并且注意到其中的一些需要绑定挂载(mount)/var ...
- winform解析json API数据
{ "retCode" : "SUCCESS", "msg" : "", "data" : { ...
- 微信小程序:日期组件picker的使用
1.页面代码 <view class="right"> <picker mode="date" value="{{material. ...
- Vue框架简介及简单使用
目录 一.前端框架介绍 二.vue框架简介 三.vue使用初体验 1. vue如何在页面中引入 2. 插值表达式 3. 文本指令 4. 方法指令(事件指令) 5. 属性指令 四.js数据类型补充 1. ...
- js--闭包与垃圾回收机制
前言 闭包和垃圾回收机制常常作为前端学习开发中的难点,也经常在面试中遇到这样的问题,本文记录一下在学习工作中关于这方面的笔记. 正文 1.闭包 闭包(closure)是Javascript语言的一个难 ...
- Kubernetes-6.Service
docker version:20.10.2 kubernetes version:1.20.1 本文概述Kubernetes Service的基本原理和使用. 服务 Service是将运行在一组Po ...
- 7.vue组件(二)--双向绑定,父子组件访问
本文主要说两件事 1. 如何实现父子组件之间的双向绑定 2. 父组件如何访问子组件的data,method, 子组件如何访问父组件的data,method等 一. 如何实现父子组件之间的双向绑定 案例 ...
- Flask:基本结构
在大多数标准中,Flask 都算是小型框架,小到可以称为"微框架".但是,小并不意味着它比其他框架的功能少.Flask 自开发伊始就被设计为可扩展的框架,它具有一个包含基本服务的强 ...
- Chrome网页截图步骤
按F12弹出开发者工具 切换到Console栏目 按Ctrl + p 快捷键弹出命令输入框 输入>cap或者>screenshot就会看到好几个截图选项,选择一种你需要的截图方式即可,然后 ...