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从入门到精通(DAY 3)
Dec 20 Python
python查看微信好友是否删除自己
Dec 19 Python
Python实现控制台中的进度条功能代码
Dec 22 Python
利用python将xml文件解析成html文件的实现方法
Dec 22 Python
详谈pandas中agg函数和apply函数的区别
Apr 20 Python
django利用request id便于定位及给日志加上request_id
Aug 26 Python
Django admin.py 在修改/添加表单界面显示额外字段的方法
Aug 22 Python
Python3.8对可迭代解包的改进及用法详解
Oct 15 Python
Python *args和**kwargs用法实例解析
Mar 02 Python
Python如何给你的程序做性能测试
Jul 29 Python
python中字符串的编码与解码详析
Dec 03 Python
python 中 .py文件 转 .pyd文件的操作
Mar 04 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
真正根据utf8编码的规律来进行截取字符串的函数(utf8版sub_str )
2012/10/24 PHP
php使用timthumb生成缩略图的方法
2016/01/22 PHP
Symfony2实现在doctrine中内置数据的方法
2016/02/05 PHP
弹出广告特效(一个IP只弹出一次)的代码
2007/07/27 Javascript
一起来写段JS drag拖动代码
2010/12/09 Javascript
最佳JS代码编写的14条技巧
2011/01/09 Javascript
JS实现QQ图片一闪一闪的效果小例子
2013/07/31 Javascript
jquery简单实现鼠标经过导航条改变背景图
2013/12/17 Javascript
angularjs中的单元测试实例
2014/12/06 Javascript
JavaScript随机生成信用卡卡号的方法
2015/04/07 Javascript
跟我学习javascript的循环
2015/11/18 Javascript
jquery解析json格式数据的方法(对象、字符串)
2015/11/24 Javascript
基于jQuery实现响应式圆形图片轮播特效
2015/11/25 Javascript
JavaScript阻止回车提交表单的方法
2015/12/30 Javascript
Three.js学习之网格
2016/08/10 Javascript
vue.js通过自定义指令实现数据拉取更新的实现方法
2016/10/18 Javascript
关于Function中的bind()示例详解
2016/12/02 Javascript
NodeJS处理Express中异步错误
2017/03/26 NodeJs
html5+canvas实现支持触屏的签名插件教程
2017/05/08 Javascript
Angularjs按需查询实例代码
2017/10/30 Javascript
Vue+ElementUI实现表单动态渲染、可视化配置的方法
2018/03/07 Javascript
Vue组件之高德地图地址选择功能的实例代码
2019/06/21 Javascript
vue中nextTick用法实例
2019/09/11 Javascript
uniapp 仿微信的右边下拉选择弹出框的实现代码
2020/07/12 Javascript
深入Python解释器理解Python中的字节码
2015/04/01 Python
Python实现扫描局域网活动ip(扫描在线电脑)
2015/04/28 Python
基于进程内通讯的python聊天室实现方法
2015/06/28 Python
Python中pandas模块DataFrame创建方法示例
2018/06/20 Python
Django实现表单验证
2018/09/08 Python
利用Python的turtle库绘制玫瑰教程
2019/11/23 Python
Docker部署Python爬虫项目的方法步骤
2020/01/19 Python
城市创卫标语
2014/06/17 职场文书
2015年初中元旦晚会活动总结
2014/11/28 职场文书
班主任寄语2016
2015/12/04 职场文书
Javascript 解构赋值详情
2021/11/17 Javascript
一行Python命令实现批量加水印
2022/04/07 Python