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 ...
随机推荐
- WebAssembly JavaScript APIs
WebAssembly JavaScript APIs https://developer.mozilla.org/en-US/docs/WebAssembly/Using_the_JavaScrip ...
- linux cd root directory
linux cd root directory https://www.cyberciti.biz/faq/how-to-change-directory-in-linux-terminal/ htt ...
- uniapp 发起网络请求
推荐下我写的uni-http 创建http-config.js import Vue from 'vue' const BASE_URL = 'http://xxx.com'; if (process ...
- 「NGK每日快讯」12.15日NGK公链第42期官方快讯!
- [转]c++使用thread类时编译出错,对‘pthread_create’未定义的引用
转载地址:https://blog.csdn.net/wuhui20091515/article/details/52531202 例子1 #include <iostream> #inc ...
- 利用 Java 操作 Jenkins API 实现对 Jenkins 的控制详解
本文转载自利用 Java 操作 Jenkins API 实现对 Jenkins 的控制详解 导语 由于最近工作需要利用 Jenkins 远程 API 操作 Jenkins 来完成一些列操作,就抽空研究 ...
- VMware vSphere 虚拟化平台的安装及使用
首先解释一下这些名词, vSphere是什么? vSphere 是VMware公司发布的一整套产品包,是VMware公司推出的一套服务器虚拟化解决方案,包含VMware ESXi hypervisor ...
- 文字链接Link
效果展示: 代码展示: <el-table-column label="引流扫码人数" align="center"> <template s ...
- SpringBoot 配置文件以及依赖 加上跨域配置文件
配置目录: application.properties的配置 #设置服务端口号 server.port = 8090 #配置数据源 spring.datasource.driver-class-na ...
- Azure Synapse Analytics Serverless
数据湖仓 自从Databricks提出Lakehouse后,同时Snowflake的上市,湖仓一体成为数据领域最火热的话题. https://databricks.com/blog/2020/01/3 ...