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


Posted in Python onJune 10, 2018

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

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

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

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

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

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

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

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

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

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

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

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

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

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 由字符串函数名得到对应的函数(实例讲解)
Aug 10 Python
python爬虫实战之最简单的网页爬虫教程
Aug 13 Python
python实现闹钟定时播放音乐功能
Jan 25 Python
Python视频爬虫实现下载头条视频功能示例
May 07 Python
Python理解递归的方法总结
Jan 28 Python
Python3获取电脑IP、主机名、Mac地址的方法示例
Apr 11 Python
Python 导入文件过程图解
Oct 15 Python
使用PyTorch实现MNIST手写体识别代码
Jan 18 Python
python tqdm 实现滚动条不上下滚动代码(保持一行内滚动)
Feb 19 Python
python中wheel的用法整理
Jun 15 Python
Python 多线程C段扫描、检测 Ping扫描脚本的实现
Sep 03 Python
Python编程super应用场景及示例解析
Oct 05 Python
python利用微信公众号实现报警功能
Jun 10 #Python
Python if语句知识点用法总结
Jun 10 #Python
Python continue继续循环用法总结
Jun 10 #Python
Python求解任意闭区间的所有素数
Jun 10 #Python
Python学习小技巧总结
Jun 10 #Python
python计算两个地址之间的距离方法
Jun 09 #Python
python 对dataframe下面的值进行大规模赋值方法
Jun 09 #Python
You might like
PHP多线程批量采集下载美女图片的实现代码(续)
2013/06/03 PHP
浅谈PHP eval()函数定义和用法
2016/06/21 PHP
php创建多级目录与级联删除文件的方法示例
2019/09/12 PHP
代码生成器 document.write()
2007/04/15 Javascript
一个基于jquery的图片切换效果
2010/07/06 Javascript
jquery限制输入字数,并提示剩余字数实现代码
2012/12/24 Javascript
YUI Compressor压缩JavaScript原理及微优化
2013/01/07 Javascript
js中call与apply的用法小结
2013/12/28 Javascript
JS与jQuery遍历Table所有单元格内容的方法
2015/12/07 Javascript
javascript禁止超链接跳转的方法
2016/02/02 Javascript
全面了解JavaScirpt 的垃圾(garbage collection)回收机制
2016/07/11 Javascript
深入理解JavaScript中的预解析
2017/01/04 Javascript
H5实现中奖记录逐行滚动切换效果
2017/03/13 Javascript
angularjs实现猜大小功能
2017/10/23 Javascript
JS实现table表格固定表头且表头随横向滚动而滚动
2017/10/26 Javascript
Node.js readline模块与util模块的使用
2018/03/01 Javascript
Node.js中的不安全跳转如何防御详解
2018/10/21 Javascript
原生JS实现逼真的图片3D旋转效果详解
2019/02/16 Javascript
在weex中愉快的使用scss的方法步骤
2020/01/02 Javascript
springboot+vue实现文件上传下载
2020/11/17 Vue.js
[01:03:13]VG vs Pain 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
[00:34]拔城逐梦,热血永恒!2020(秋)完美世界城市挑战赛报名开启
2020/10/09 DOTA
对numpy中数组元素的统一赋值实例
2018/04/04 Python
在Python中通过getattr获取对象引用的方法
2019/01/21 Python
基于Python检测动态物体颜色过程解析
2019/12/04 Python
Python接口自动化判断元素原理解析
2020/02/24 Python
python实现吃苹果小游戏
2020/03/21 Python
PyCharm安装PyQt5及其工具(Qt Designer、PyUIC、PyRcc)的步骤详解
2020/11/02 Python
纯CSS3实现的8种Loading动画效果
2014/07/05 HTML / CSS
英国莱斯特松木橡木家具网上商店:Choice Furniture Superstore
2019/07/05 全球购物
Linux如何压缩可执行文件
2013/10/21 面试题
清正廉洁演讲稿
2014/05/22 职场文书
幼儿园健康教育方案
2014/06/14 职场文书
镇政府副镇长群众路线专题民主生活会对照检查材料
2014/09/19 职场文书
教师求职信怎么写
2015/03/20 职场文书
关于观后感的作文
2015/06/18 职场文书