还有4天就世界杯了,做为一个资深(伪)球迷,必需要实时关注世界杯相关新闻,了解各个球队动态,这样才能在一堆球迷中如(大)鱼(吹)得(特)水(吹),迎接你们仰慕的目光!html
给你们分享一个快速了解相关信息的办法:刷论坛!咱们来一块儿作个虎扑论坛的爬虫吧!python
先来观察下网页,打开论坛首页,选择国际足球json
而后往下拉,找到世界杯相关内容工具
这里就是咱们的目标了,全部相关的新闻都会在这里显示,用F12打开“开发者工具”而后往下浏览看看数据包学习
注意箭头指向的那几个地方!编码
这就是刚才浏览的新闻所在的json包,来看看具体数据是什么url
ok,标题、地址、发布时间包括来源都已经出现了!咱们能够直接抓取json数据而后取出相关内容!code
再进入具体新闻页面看看xml
全部的文本内容,都在htm
这个标签下的
标签内,咱们能够用xpath直接取div下的全部文本内容!
这里就不一 一说明了,直接上代码,并录个小的GIF图片给你们看看效果
#@author 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()
如今咱们能够快乐的刷刷论坛,积累最新资讯,秒杀一切挡在咱们前(装)进(B)道路上的渣渣吧~!
欢迎你们关注,私信我一块儿学习,一块儿看球!