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时区设置方法与pytz查询时区教程
Nov 27 Python
学习python 之编写简单乘法运算题
Feb 27 Python
Python读取图片属性信息的实现方法
Sep 11 Python
教你使用python画一朵花送女朋友
Mar 29 Python
Python实现Singleton模式的方式详解
Aug 08 Python
python 实现绘制整齐的表格
Nov 18 Python
python3发送request请求及查看返回结果实例
Apr 30 Python
基于Python爬取51cto博客页面信息过程解析
Aug 25 Python
Python 整行读取文本方法并去掉readlines换行\n操作
Sep 03 Python
Python虚拟环境virtualenv创建及使用过程图解
Dec 08 Python
scrapy-splash简单使用详解
Feb 21 Python
Python编程编写完善的命令行工具
Sep 15 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实现无限级分类
2014/12/24 PHP
浅谈PHP中Stream(流)
2015/06/08 PHP
php实现过滤字符串中的中文和数字实例
2015/07/29 PHP
PHP多进程之pcntl_fork的实例详解
2017/10/15 PHP
实例讲解PHP表单
2020/06/10 PHP
PHP7 windows支持
2021/03/09 PHP
自适应图片大小的弹出窗口
2006/07/27 Javascript
javascript用户注册提示效果的简单实例
2013/08/17 Javascript
js中运算符&amp;&amp; 和 || 的使用记录
2014/08/21 Javascript
JS操作JSON方法总结(推荐)
2016/06/14 Javascript
快速实现jQuery多级菜单效果
2017/02/01 Javascript
d3.js中冷门却实用的内置函数总结
2017/02/04 Javascript
JavaScript用200行代码制作打飞机小游戏实例
2017/06/21 Javascript
jQuery UI 实例讲解 - 日期选择器(Datepicker)
2017/09/18 jQuery
vue实现打印功能的两种方法
2018/09/07 Javascript
angularJs提交文本框数据到后台的方法
2018/10/08 Javascript
vue使用v-if v-show页面闪烁,div闪现的解决方法
2018/10/12 Javascript
详解Vue demo实现商品列表的展示
2019/05/07 Javascript
解决在Vue中使用axios用form表单出现的问题
2019/10/30 Javascript
自己使用总结Python程序代码片段
2015/06/02 Python
django+xadmin+djcelery实现后台管理定时任务
2018/08/14 Python
基于django 的orm中非主键自增的实现方式
2020/05/18 Python
解决redis与Python交互取出来的是bytes类型的问题
2020/07/16 Python
安装pyecharts1.8.0版本后导入pyecharts模块绘图时报错: “所有图表类型将在 v1.9.0 版本开始强制使用 ChartItem 进行数据项配置 ”的解决方法
2020/08/18 Python
python 常见的反爬虫策略
2020/09/27 Python
HTML5 Canvas实现烟花绽放特效
2016/03/02 HTML / CSS
Html5实现首页动态视频背景的示例代码
2019/09/25 HTML / CSS
澳大利亚鞋仓库:Shoe Warehouse
2019/07/25 全球购物
为什么UNION ALL比UNION快
2016/03/17 面试题
市场开发计划书
2014/05/07 职场文书
珠宝的促销活动方案
2014/08/31 职场文书
销售经理岗位职责
2015/01/31 职场文书
小学数学教学反思范文
2016/02/16 职场文书
小学三年级作文之写景
2019/11/05 职场文书
解析Java异步之call future
2021/06/14 Java/Android
三种方式清除vue路由跳转router-link的历史记录
2022/04/10 Vue.js