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实现从网络下载文件并获得文件大小及类型的方法
Apr 28 Python
Python爬虫实例_利用百度地图API批量获取城市所有的POI点
Jan 10 Python
Python二进制串转换为通用字符串的方法
Jul 23 Python
Python判断一个文件夹内哪些文件是图片的实例
Dec 07 Python
Python Pywavelet 小波阈值实例
Jan 09 Python
python实时获取外部程序输出结果的方法
Jan 12 Python
关于python之字典的嵌套,递归调用方法
Jan 21 Python
对pyqt5之menu和action的使用详解
Jun 20 Python
tensorflow实现残差网络方式(mnist数据集)
May 26 Python
python 获取域名到期时间的方法步骤
Feb 10 Python
教你用Python+selenium搭建自动化测试环境
Jun 18 Python
python图片灰度化处理的几种方法
Jun 23 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获取http请求的头信息实现步骤
2012/12/16 PHP
php中使用__autoload()自动加载未定义类的实现代码
2013/02/06 PHP
PHP swoole和redis异步任务实现方法分析
2019/08/12 PHP
IE8 原生JSON支持
2009/04/13 Javascript
js简易namespace管理器 实例代码
2013/06/21 Javascript
js实现最短的XML格式化工具实例
2015/03/12 Javascript
jquery马赛克拼接翻转效果代码分享
2015/08/24 Javascript
第三章之Bootstrap 表格与按钮功能
2016/04/25 Javascript
JavaScript仿百度图片浏览效果
2016/11/23 Javascript
全面解析Node.js 8 重要功能和修复
2017/06/02 Javascript
浅谈node的事件机制
2017/10/09 Javascript
JavaScript对象拷贝与Object.assign用法实例分析
2018/06/20 Javascript
vue改变对象或数组时的刷新机制的方法总结
2019/04/24 Javascript
在vue中使用echars实现上浮与下钻效果
2019/11/08 Javascript
Vue左滑组件slider使用详解
2020/08/21 Javascript
JavaScript中的函数式编程详解
2020/08/22 Javascript
全面解析Vue中的$nextTick
2020/12/24 Vue.js
Python注释详解
2016/06/01 Python
Python爬虫实现网页信息抓取功能示例【URL与正则模块】
2017/05/18 Python
Python定时任务sched模块用法示例
2018/07/16 Python
Python 仅获取响应头, 不获取实体的实例
2019/08/21 Python
爬虫代理池Python3WebSpider源代码测试过程解析
2019/12/20 Python
python装饰器实现对异常代码出现进行自动监控的实现方法
2020/09/15 Python
pycharm中如何自定义设置通过“ctrl+滚轮”进行放大和缩小实现方法
2020/09/16 Python
css3实现图片遮罩效果鼠标hover以后出现文字
2013/11/05 HTML / CSS
寻找迷宫的一条出路,o通路;X:障碍
2016/07/10 面试题
递归计算如下递归函数的值(斐波拉契)
2012/02/04 面试题
管理站站长岗位职责
2013/11/27 职场文书
编辑求职信样本
2013/12/16 职场文书
银行员工职业规划范文
2014/01/21 职场文书
活动总结的格式
2014/05/07 职场文书
详解Mysql 函数调用优化
2021/04/07 MySQL
解决vue $http的get和post请求跨域问题
2021/06/07 Vue.js
CSS3实现指纹特效代码
2022/03/17 HTML / CSS
排查并解决MySQL生产库内存使用率高的报警
2022/04/11 MySQL
nginx 配置指令之location使用详解
2022/05/25 Servers