返回顶部
首页 > 资讯 > 后端开发 > Python >python如何爬取新闻门户网站
  • 319
分享到

python如何爬取新闻门户网站

2023-06-14 20:06:59 319人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章主要介绍了python如何爬取新闻门户网站,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Python主要应用领域有哪些1、云计算,典型应用OpenStack。2、WE

这篇文章主要介绍了python如何爬取新闻门户网站,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

Python主要应用领域有哪些

1、云计算,典型应用OpenStack。2、WEB前端开发,众多大型网站均为python开发。3.人工智能应用,基于大数据分析深度学习而发展出来的人工智能本质上已经无法离开python。4、系统运维工程项目自动化运维的标配就是python+Django/flask。5、金融理财分析,量化交易,金融分析。6、大数据分析。

如何使用

每个文件夹下的代码就是对应平台的新闻爬虫

  1. py 文件直接运行

  2. pyd 文件需要,假设为 pengpai_news_spider.pyd

将 pyd 文件下载到本地,新建项目,把 pyd 文件放进去

项目根目录下新建 runner.py,写入以下代码即可运行并抓取

import pengpai_news_spiderpengpai_news_spider.main()

示例代码

百度新闻

# -*- coding: utf-8 -*-# 文件备注信息       如果遇到打不开的情况,可以先在浏览器打开一下百度搜索引擎import requestsfrom datetime import datetime, timedeltafrom lxml import etreeimport csvimport osfrom time import sleepfrom random import randintdef parseTime(unfORMatedTime):    if '分钟' in unformatedTime:        minute = unformatedTime[:unformatedTime.find('分钟')]        minute = timedelta(minutes=int(minute))        return (datetime.now() -                minute).strftime('%Y-%m-%d %H:%M')    elif '小时' in unformatedTime:        hour = unformatedTime[:unformatedTime.find('小时')]        hour = timedelta(hours=int(hour))        return (datetime.now() -                hour).strftime('%Y-%m-%d %H:%M')    else:        return unformatedTimedef dealhtml(html):    results = html.xpath('//div[@class="result-op c-container xpath-log new-pmd"]')    saveData = []    for result in results:        title = result.xpath('.//h4/a')[0]        title = title.xpath('string(.)').strip()        summary = result.xpath('.//span[@class="c-font-normal c-color-text"]')[0]        summary = summary.xpath('string(.)').strip()        # ./ 是直接下级,.// 是直接/间接下级        infos = result.xpath('.//div[@class="news-source"]')[0]        source, dateTime = infos.xpath(".//span[last()-1]/text()")[0], \                           infos.xpath(".//span[last()]/text()")[0]        dateTime = parseTime(dateTime)        print('标题', title)        print('来源', source)        print('时间', dateTime)        print('概要', summary)        print('\n')        saveData.append({            'title': title,            'source': source,            'time': dateTime,            'summary': summary        })    with open(fileName, 'a+', encoding='utf-8-sig', newline='') as f:        writer = csv.writer(f)        for row in saveData:            writer.writerow([row['title'], row['source'], row['time'], row['summary']])headers = {    'User-Agent': 'Mozilla/5.0 (windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36',    'Referer': 'https://www.baidu.com/s?rtt=1&bsst=1&cl=2&tn=news&Word=%B0%D9%B6%C8%D0%C2%CE%C5&fr=zhidao'}url = 'Https://www.baidu.com/s'params = {    'ie': 'utf-8',    'medium': 0,    # rtt=4 按时间排序 rtt=1 按焦点排序    'rtt': 1,    'bsst': 1,    'rsv_dl': 'news_t_sk',    'cl': 2,    'tn': 'news',    'rsv_bp': 1,    'oq': '',    'rsv_btype': 't',    'f': 8,}def doSpider(keyword, sortBy = 'focus'):    '''    :param keyword: 搜索关键词    :param sortBy: 排序规则,可选:focus(按焦点排序),time(按时间排序),默认 focus    :return:    '''    global fileName    fileName = '{}.csv'.format(keyword)    if not os.path.exists(fileName):        with open(fileName, 'w+', encoding='utf-8-sig', newline='') as f:            writer = csv.writer(f)            writer.writerow(['title', 'source', 'time', 'summary'])    params['wd'] = keyword    if sortBy == 'time':        params['rtt'] = 4    response = requests.get(url=url, params=params, headers=headers)    html = etree.HTML(response.text)    dealHtml(html)    total = html.xpath('//div[@id="header_top_bar"]/span/text()')[0]    total = total.replace(',', '')    total = int(total[7:-1])    pageNum = total // 10    for page in range(1, pageNum):        print('第 {} 页\n\n'.format(page))        headers['Referer'] = response.url        params['pn'] = page * 10        response = requests.get(url=url, headers=headers, params=params)        html = etree.HTML(response.text)        dealHtml(html)        sleep(randint(2, 4))    ...if __name__ == "__main__":    doSpider(keyword = '马保国', sortBy='focus')

感谢你能够认真阅读完这篇文章,希望小编分享的“python如何爬取新闻门户网站”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网Python频道,更多相关知识等着你来学习!

--结束END--

本文标题: python如何爬取新闻门户网站

本文链接: https://lsjlt.com/news/274738.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • python如何爬取新闻门户网站
    这篇文章主要介绍了python如何爬取新闻门户网站,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。python主要应用领域有哪些1、云计算,典型应用OpenStack。2、WE...
    99+
    2023-06-14
  • python爬取新闻门户网站的示例
    项目地址: https://github.com/Python3Spiders/AllNewsSpider 如何使用 每个文件夹下的代码就是对应平台的新闻爬虫 py 文件直接运行 pyd 文件需要,...
    99+
    2022-06-02
    python 爬取网站 python 爬取新闻
  • python爬虫中如何爬取新闻
    这篇文章主要介绍了python爬虫中如何爬取新闻,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。python的五大特点是什么python的五大特点:1.简单易学,开发程序时,专...
    99+
    2023-06-14
  • python爬虫中如何爬取网页新闻内容
    小编给大家分享一下python爬虫中如何爬取网页新闻内容,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!python可以做什么Python是一种编程语言,内置了许多...
    99+
    2023-06-14
  • python如何使用Scrapy爬取网易新闻
    这篇文章主要介绍python如何使用Scrapy爬取网易新闻,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1. 新建项目在命令行窗口下输入scrapy startproject scrapytest, 如下然后就自动...
    99+
    2023-06-14
  • python实现Scrapy爬取网易新闻
    1. 新建项目 在命令行窗口下输入scrapy startproject scrapytest, 如下 然后就自动创建了相应的文件,如下 2. 修改itmes.py文件 打开s...
    99+
    2024-04-02
  • 如何用5行python代码爬取新闻网最新资讯
    这期内容当中小编将会给大家带来有关如何用5行python代码爬取新闻网最新资讯,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。大家都知道python语言的强大,以强大的胶水语言著称,其简洁性,实在是令其它语...
    99+
    2023-06-02
  • Python爬虫系列 - 初探:爬取新闻
    Get发送内容格式 Get方式主要需要发送headers、url、cookies、params等部分的内容。 t = requests.get(url, headers = header, params = content, cooki...
    99+
    2023-01-30
    爬虫 系列 新闻
  • Python如何爬取汽车之家新闻信息
    这篇文章给大家介绍Python如何爬取汽车之家新闻信息,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。为大家介绍一个爬取汽车之家的新闻标题,链接.以及相关图片并下载的Python项目案例,用基本的BeautifulSou...
    99+
    2023-06-02
  • python如何爬取壁纸网站
    这篇文章主要介绍python如何爬取壁纸网站,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!本次爬虫用到的网址是:http://www.netbian.com/index.htm: 彼岸桌面.里面有很多的好看壁纸,而且...
    99+
    2023-06-14
  • 如何用Python爬虫爬取美剧网站
    如何用Python爬虫爬取美剧网站,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。爬虫爬取美剧网站!【前言】一直有爱看美剧的习惯,一方面锻炼一下英语听力,一方面打...
    99+
    2023-06-02
  • Python爬虫之爬取最新更新的小说网站
    目录一、引言二、关于相关访问请求及应答报文2.1、百度搜索请求2.2、百度返回搜索结果2.3、小说网站关于最新更新的展现及html报文格式三、实现思路及代码3.1、根据url获取网站...
    99+
    2024-04-02
  • 如何利用Python爬虫爬取网站音乐
    小编给大家分享一下如何利用Python爬虫爬取网站音乐,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体实现引入发送网络请求的第三方库import re...
    99+
    2023-06-15
  • 如何使用Python爬虫爬取网站图片
    这篇文章主要介绍了如何使用Python爬虫爬取网站图片,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。此次python3主要用requests,解析图片网址主要用beautif...
    99+
    2023-06-22
  • 如何使用python爬取整个网站
    要使用Python爬取整个网站,可以使用以下步骤:1. 导入所需的库,例如`requests`和`BeautifulSoup`。``...
    99+
    2023-08-14
    python
  • python爬虫:爬取网站视频
    python爬取百思不得姐网站视频:http://www.budejie.com/video/新建一个py文件,代码如下:#!/usr/bin/python # -*- coding: UTF-8 -*- import urllib,re...
    99+
    2023-01-31
    爬虫 视频 网站
  • Python爬虫爬取网站图片
    此次python3主要用requests,解析图片网址主要用beautiful soup,可以基本完成爬取图片功能, 爬虫这个当然大多数人入门都是爬美女图片,我当然也不落俗套,首先也...
    99+
    2024-04-02
  • python 简单爬取今日头条热点新闻(
    今日头条如今在自媒体领域算是比较强大的存在,今天就带大家利用python爬去今日头条的热点新闻,理论上是可以做到无限爬取的; 在浏览器中打开今日头条的链接,选中左侧的热点,在浏览器开发者模式network下很快能找到一个‘category...
    99+
    2023-01-30
    头条 热点新闻 简单
  • Python怎么进行简单的百度新闻爬取
    Python怎么进行简单的百度新闻爬取,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。这个实战例子是构建一个大规模的异步新闻爬虫,但要分几步走,从简单到复杂,循序...
    99+
    2023-06-02
  • 如何使用Puppeteer进行新闻网站数据抓取和聚合
    导语 Puppeteer是一个基于Node.js的库,它提供了一个高级的API来控制Chrome或Chromium浏览器。通过Puppeteer,我们可以实现各种自动化任务,如网页截图、PDF生成、表单填写、网络监控等。本文将介绍如何使用...
    99+
    2023-08-30
    Puppeteer 网络爬虫 数据抓取 爬虫代理 亿牛云
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作