爬取斗鱼格斗区主播人气值
2017-07-08 10:47
134 查看
import urllib.request import urllib.error import threading import time import re from urllib.request import urlopen url='https://www.douyu.com/directory/game/FTG' agent='Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36' user_headers={'User-Agent':agent} request=urllib.request.Request(url,headers=user_headers) response=urllib.request.urlopen(request) pagecode=response.read().decode('utf-8') pattern=re.compile('<h3 class="ellipsis">\s+(.*?)\s+</h3>.*?<span class="dy-name ellipsis fl">(.*?)</span>.*?<span class="dy-num fr.*?>(.*?)</span>',re.S) #配好了爬取房间题目,主播名,人气数值三项的正则表达式 items=re.findall(pattern,pagecode) contents=[] n=0 for item in items: contents.append(item) n+=1 print(n) file = open("DY_FTG.txt","w+")#创建TXT文件 a=0 while a<n: floor=contents[a][0]+' '+contents[a][1]+' '+contents[a][2]+'\n' file.write(floor)#把爬取数据写入文件里 a+=1 file.close()
可以成功爬取主播数据,并写入文件中。
Ps:斗鱼本来就是按照人气高低来给主播排序的,但是我还是想按照人气高低把主播重新排序,于是我加了一个起泡排序法,却发现顺序乱了。
经过观察发现,在万人气主播和千人气主播的比较出现错误,千人气和百人气主播的比较出现错误,类似如此。应该是人气数值保存成字符型了,应该是数值型才对。而且斗鱼万人气的表示方法是XX万,我的方法是把字符串第一位到倒数第二位转换成数值类型,再乘以10000。
然而这中间又涉及到元组类型是不能更改数据的,列表才可以。而我的元组是多维数组,更是要每一层都要列表化才行。
相关文章推荐
- 『Scrapy』爬取斗鱼主播头像
- Python 使用Selenium获取斗鱼直播主播数据(二十二02)
- 爬虫之爬取斗鱼官网LOL部分主播的状态
- Python--Python抓取花椒网人气主播全教程(附:代码)
- python3 selenium xpath 下载斗鱼颜值主播头像 入门demo
- 从斗鱼顶级女主播来思考直播间画面的布局
- python 爬取 某平台 LOL主播姓名+加人气,然后进行排序
- 网络上人气最旺最酷的281个论坛排名
- 中国十大美丽女主播
- 这几天看petshop,也做了一个repeator,可分页的,还没完善就急于放上来了,希望增加点人气
- 人气最旺论坛
- [观点]闾丘露薇:央视主播该抗议的不是星巴克
- 央视当家主播月薪排行榜
- 公布动易2006算法,赚点人气。
- 免费就业推荐与招聘,只为聚人气——2008年8月开放职位汇总
- 免费就业推荐与招聘,只为聚人气——2008年8月开放职位汇总
- 免费就业推荐与招聘,只为聚人气——2008年8月开放职位汇总
- 用AspectJ做的一个回合格斗小游戏
- [英语阅读]布吕尼人气大涨 民众对其好感超萨科齐
- 鞋服企业:促销常有销量不常有,为什么?品牌没人气!