Python爬虫实现(伪)球迷速成

 更新时间:2018年06月10日 14:54:11   投稿:mrr  
还有4天就世界杯了,作为一个资深(伪)球迷,必须要实时关注世界杯相关新闻,了解各个球队动态,下面小编给大家带来了Python爬虫实现(伪)球迷速成功能,一起看看吧

还有4天就世界杯了,作为一个资深(伪)球迷,必须要实时关注世界杯相关新闻,了解各个球队动态,这样才能在一堆球迷中如(大)鱼(吹)得(特)水(吹),迎接大家仰慕的目光!

给大家分享一个快速了解相关信息的办法:刷论坛!我们来一起做个虎扑论坛的爬虫吧!

抓包获取虎扑论坛相关帖子内容,逐条显示!

先来观察下网页,打开论坛首页,选择国际足球

然后往下拉,找到世界杯相关内容

 

这里就是我们的目标了,所有相关的新闻都会在这里显示,用F12打开“开发者工具”然后往下浏览看看数据包

注意箭头指向的那几个地方!

这就是刚才浏览的新闻所在的json包,来看看具体数据是什么


ok,标题、地址、发布时间包括来源都已经出现了!我们可以直接抓取json数据然后取出相关内容!

再进入具体新闻页面看看

世界杯快到了,看我用Python爬虫实现(伪)球迷速成! 

所有的文本内容,都在<div class="artical-main-content">这个标签下的<p></p>标签内,我们可以用xpath直接取div下的所有文本内容!

这里就不一 一说明了,直接上代码,并录个小的GIF图片给大家看看效果

#Q群542110741
# -*- coding:utf-8 -*-
import requests
from lxml import etree

header = {
  'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0',
  'Host':'soccer.hupu.com',
  'Referer':'https://soccer.hupu.com/'}
i = 0
while 1:
  #构建循环页面翻页
  url = 'https://soccer.hupu.com/home/latest-news?league=世界杯&page='
  i += 1
  #获取json数据,一页20个
  html = requests.get(url+str(i),headers=header).json()['result']
  for info in html:
    time_r = info['time']#发布时间
    title = info['title']#标题
    url_r = info['url']#新闻链接
    origin = info['origin']#来源
    print(title)
    print('发布时间:',time_r,' '*5,'来自:',origin)
    head = header
    head['Host'] = 'voice.hupu.com'#更改header中Host参数
    html_r = requests.get(url_r,headers=head)#获取新闻详情
    html_r.encoding = 'utf-8'#编码格式指定
    #获取div下的所有文本
    datas = etree.HTML(html_r.text).xpath('//div[@class="artical-content-read"]')[0].xpath('string(.)').strip()
    print('\n'+'内容:'+'\n'*2,datas,'\n')
    #可由用户手动退出循环
    if input('任意键继续,“q”退出') in ['q', 'Q']:
      exit()

总结

以上所述是小编给大家介绍的Python爬虫实现(伪)球迷速成,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

相关文章

  • Python构建区块链的方法详解

    Python构建区块链的方法详解

    区块链(Blockchain)是一种分布式账本(listributed ledger),它是一种仅供增加(append-only),内容不可变(immutable)的有序(ordered)链式数据结构,该数据结构由网络中的一系列节点共同维护,并且这些节点之间互不信任
    2023-02-02
  • python中的class_static的@classmethod的巧妙用法

    python中的class_static的@classmethod的巧妙用法

    python中的class_static的@classmethod的使用 classmethod的使用,主要针对的是类而不是对象,在定义类的时候往往会定义一些静态的私有属性,今天通过示例代码看下classmethod的妙用
    2021-06-06
  • python中csv文件创建、读取及修改等操作实例

    python中csv文件创建、读取及修改等操作实例

    很多程序在处理数据时都会碰到csv这种格式的文件,下面这篇文章主要给大家介绍了关于python中csv文件创建、读取及修改等操作的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-05-05
  • Python探索之爬取电商售卖信息代码示例

    Python探索之爬取电商售卖信息代码示例

    这篇文章首先简单介绍了网络爬虫的基本概念,然后向大家分享了一段有关爬取电商售卖信息的实例代码,具有一定参考价值,需要的朋友可以了解下。
    2017-10-10
  • Python可变和不可变、类的私有属性实例分析

    Python可变和不可变、类的私有属性实例分析

    这篇文章主要介绍了Python可变和不可变、类的私有属性,结合实例形式分析了Python值可变与不可变的情况及内存地址变化,类的私有属性定义、访问相关操作技巧,需要的朋友可以参考下
    2019-05-05
  • Python OpenCV实现图像增强操作详解

    Python OpenCV实现图像增强操作详解

    由于很多不确定因素,导致图像采集的光环境极其复杂;为了提高目标检测模型的泛化能力,本文将使用python中的opencv模块实现常见的图像增强方法,感兴趣的可以了解一下
    2022-10-10
  • python实现上传文件到linux指定目录的方法

    python实现上传文件到linux指定目录的方法

    这篇文章主要介绍了python实现上传文件到linux指定目录的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-01-01
  • 使用 Python 玩转 GitHub 的贡献板(推荐)

    使用 Python 玩转 GitHub 的贡献板(推荐)

    这篇文章主要介绍了使用 Python 玩转 GitHub 的贡献板的相关知识,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-04-04
  • python异常处理之try finally不报错的原因

    python异常处理之try finally不报错的原因

    这篇文章主要介绍了python异常处理之try finally不报错的原因,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • 使用Anaconda创建Pytorch虚拟环境的排坑详细教程

    使用Anaconda创建Pytorch虚拟环境的排坑详细教程

    PyTorch是一个开源的Python机器学习库,基于Torch,用于自然语言处理等应用程序,下面这篇文章主要给大家介绍了关于使用Anaconda创建Pytorch虚拟环境的相关资料,需要的朋友可以参考下
    2022-12-12

最新评论