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分割TXT文件成4K的TXT文件
May 23 Python
Python最长公共子串算法实例
Mar 07 Python
Python中的异常处理简明介绍
Apr 13 Python
python下MySQLdb用法实例分析
Jun 08 Python
Python实现曲线点抽稀算法的示例
Oct 12 Python
Python3.x爬虫下载网页图片的实例讲解
May 22 Python
使用Python的Django和layim实现即时通讯的方法
May 25 Python
Python实现调用另一个路径下py文件中的函数方法总结
Jun 07 Python
Python正则表达式和元字符详解
Nov 29 Python
Python安装selenium包详细过程
Jul 23 Python
Python3查找列表中重复元素的个数的3种方法详解
Feb 13 Python
Python如何把Spark数据写入ElasticSearch
Apr 18 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
哪吒敖丙传:新人物二哥敖乙出场 小敖丙奶气十足
2020/03/08 国漫
PHP写UltraEdit插件脚本实现方法
2011/12/26 PHP
PHP根据IP地址获取所在城市具体实现
2013/11/27 PHP
php实现四舍五入的方法小结
2015/03/03 PHP
PHP 错误处理机制
2015/07/06 PHP
thinkphp自定义权限管理之名称判断方法
2017/04/01 PHP
PHP检查文件是否存在,不存在自动创建及读取文件内容操作示例
2020/01/23 PHP
FileUpload上传图片(图片不变形)
2010/08/05 Javascript
jQuery UI 应用不同Theme的办法
2010/09/12 Javascript
判断及设置浏览器全屏模式
2014/04/20 Javascript
js替换字符串中所有指定的字符(实现代码)
2016/08/17 Javascript
html5+canvas实现支持触屏的签名插件教程
2017/05/08 Javascript
详谈for循环里面的break和continue语句
2017/07/20 Javascript
jQuery简单实现根据日期计算星期几的方法
2019/01/09 jQuery
JavaScript数据结构与算法之二叉树添加/删除节点操作示例
2019/03/01 Javascript
了解JavaScript表单操作和表单域
2019/05/27 Javascript
微信小程序点餐系统开发常见问题汇总
2019/08/06 Javascript
vue2和vue3的v-if与v-for优先级对比学习
2020/10/10 Javascript
深入理解Python中range和xrange的区别
2017/11/26 Python
python2 与 python3 实现共存的方法
2018/07/12 Python
Python实现快速傅里叶变换的方法(FFT)
2018/07/21 Python
python bmp转换为jpg 并删除原图的方法
2018/10/25 Python
详解django中url路由配置及渲染方式
2019/02/25 Python
Python代码块及缓存机制原理详解
2019/12/13 Python
django使用F方法更新一个对象多个对象字段的实现
2020/03/28 Python
解决TensorFlow调用Keras库函数存在的问题
2020/07/06 Python
Python 代码调试技巧示例代码
2020/08/11 Python
HTML5+WebSocket实现多文件同时上传的实例
2016/12/29 HTML / CSS
StubHub美国:购买或出售您的门票
2019/07/09 全球购物
德国最大的婴儿用品网上商店:Kidsroom.de(支持中文)
2020/09/02 全球购物
JSF面试题:Jsf中导航的标签是什么
2013/04/20 面试题
土地转让协议书范本
2014/04/15 职场文书
收银员岗位职责
2015/02/03 职场文书
2015年评职称工作总结范文
2015/04/20 职场文书
MutationObserver在页面水印实现起到的作用详解
2022/07/07 Javascript
windows系统搭建WEB服务器详细教程
2022/08/05 Servers