先看一个爬虫入门的小程序——获取中国最好大学排名

import requests
from bs4 import BeautifulSoup
allUniv = []
def getHTMLText(url):try:r = requests.get(url, timeout=30)r.raise_for_status()r.encoding = 'utf-8'return r.textexcept:return ""
def fillUnivList(soup):data = soup.find_all('tr')for tr in data:ltd = tr.find_all('td')if len(ltd)==0:continuesingleUniv = []for td in ltd:singleUniv.append(td.string)allUniv.append(singleUniv)
def printUnivList(num):print("{:^4}{:^10}{:^5}{:^8}{:^10}".format("排名","学校名称","省市","总分","培养规模"))for i in range(num):u=allUniv[i]print("{:^4}{:^10}{:^5}{:^8}{:^10}".format(u[0],u[1],u[2],u[3],u[6]))
def main():url = 'http://www.zuihaodaxue.cn/zuihaodaxuepaiming2020.html'html = getHTMLText(url)soup = BeautifulSoup(html, "html.parser")fillUnivList(soup)printUnivList(10)
main()

稍微修改一下源程序——获取某省最好大学排名

import requests
from bs4 import BeautifulSoup
allUniv = []
def getHTMLText(url):try:r = requests.get(url, timeout=30)r.raise_for_status()r.encoding = 'utf-8'return r.textexcept:return ""
def fillUnivList(soup):data = soup.find_all('tr')for tr in data:ltd = tr.find_all('td')if len(ltd)==0:continuesingleUniv = []for td in ltd:singleUniv.append(td.string)allUniv.append(singleUniv)
def printUnivList(num):j = 1print("{1:{0}^4}{2:{0}^6}{3:{0}^10}{4:{0}^6}{5:{0}^8}{6:{0}^10}".format(chr(12288),"省内排名","全国排名","学校名称","省市","总分","培养规模"))for i in range(num):u=allUniv[i]if u[2] == '江西':print("{1:{0}^6}{2:{0}^6}{3:{0}^10}{4:{0}^6}{5:{0}^9}{6:{0}^11}".format(chr(12288),j,u[0],u[1],u[2],u[3],u[6]))j=j+1def main():url = 'http://www.zuihaodaxue.cn/zuihaodaxuepaiming2019.html'html = getHTMLText(url)soup = BeautifulSoup(html, "html.parser")fillUnivList(soup)printUnivList(500)
main()

正文:写一个获取当前在线玩家人数排列的最热门游戏的小程序

学习完上面的爬虫入门程序后的某一天,我碰巧浏览到steam网站冒出灵感:写一个获取当前在线玩家人数排列的最热门游戏的小程序。

按F12发现,这个网页的源码正好适合新手练习。

干脆动手写一写吧!

源码

import requests
from bs4 import BeautifulSoup
import csvdef getHTMLText(url):try:r=requests.get(url)r.raise_for_status()r.encoding='utf-8'return r.textexcept:return ""def getMostPopularGamesList(steamHTMLText):#课本上中国最好大学排名的实例# 用一个singleGameData列表保存游戏当前玩家人数,今日峰值,游戏名称的数据#将所有游戏的singleGameData再存入一个gameList的列表gameList = []soup=BeautifulSoup(steamHTMLText)gameTr=soup.find_all("tr",{"class":"player_count_row"})for tr in gameTr:singleGameData=[]for span in tr.find_all("span",{"class":"currentServers"}):singleGameData.append(span.string)for a in tr.find_all("a",{"class":"gameLink"}):singleGameData.append(a.string)gameList.append(singleGameData)return gameListdef printList(gameList):print("依据当前玩家人数排列的最热门游戏")print("{1:{0}<4}{2:{0}<8}{3:{0}<10}{4:{0}<10}".format((chr(12288)),"排名","当前玩家人数","今日峰值","游戏"))for i in range(num):g=gameList[i]#获取每个游戏的数据列表print("{1:{0}<4}{2:{0}<8}{3:{0}<10}{4:{0}^10}".format((chr(12288)),i+1,g[0],g[1],g[2]))if __name__ == '__main__':url = "https://store.steampowered.com/stats/"steamHTMLText = getHTMLText(url)gameList = getMostPopularGamesList(steamHTMLText)num = len(gameList)  # 网站只给出前一百的数据,因此num的值永远是100printList(gameList)

当然,steam上还有其他数据可以作为爬虫的练习。例如steam的硬软件调查等:

python爬虫——获取依据steam当前在线玩家人数排列的最热门游戏相关推荐

  1. Python爬虫获取文章的标题及你的博客的阅读量,评论量。所有数据写入本地记事本。最后输出你的总阅读量!

    Python爬虫获取文章的标题及你的博客的阅读量,评论量.所有数据写入本地记事本.最后输出你的总阅读量!还可以进行筛选输出!比如阅读量大于1000,之类的! 完整代码在最后.依据阅读数量进行降序输出! ...

  2. 编写python爬虫 获取中华英才网全网工资数据

    做数据分析 数据挖掘,第一步是获取数据,在这里,我们要分析现今全国各地各个职业的工资情况. 我们选择较为权威的'中华英才网',编写python爬虫获取该网站上的各个招聘信息说给出的工资,再取其行业工资 ...

  3. 使用Python爬虫获取豆瓣影评,并用词云显示

    使用Python爬虫获取豆瓣影评,并用词云显示 Python语言流行到现在,目前最受开发者喜爱的功能莫过于它的爬虫功能,以至于很多人以为Python的英语发音也是"爬虫",其实它是 ...

  4. python Chrome + selenium自动化测试与python爬虫获取网页数据

    一.使用Python+selenium+Chrome 报错: selenium.common.exceptions.SessionNotCreatedException: Message: sessi ...

  5. 域名带后缀_[Python 爬虫]获取顶级域名及对应的 WHOIS Server 及 whoisservers.txt 下载...

    使用 Python 爬虫获取顶级域名及对应的 WHOIS Server 并保存可用于 WhoisCL.exe 的文件 whois-servers.txt. 环境: Windows 10 Python ...

  6. python爬虫获取url_Python爬虫如何获取页面内所有URL链接?本文详解

    如何获取一个页面内所有URL链接?在Python中可以使用urllib对网页进行爬取,然后利用Beautiful Soup对爬取的页面进行解析,提取出所有的URL. 什么是Beautiful Soup ...

  7. python爬虫获取下一页url_Python爬虫获取页面所有URL链接过程详解

    如何获取一个页面内所有URL链接?在python中可以使用urllib对网页进行爬取,然后利用Beautiful Soup对爬取的页面进行解析,提取出所有的URL. 什么是Beautiful Soup ...

  8. 突破次元壁障,Python爬虫获取二次元女友

    突破次元壁障,Python爬虫获取二次元女友 前言 程序说明 二次元女友获取程序 观察网页结构 页面解析 创建图片保存路径 图片下载 格式转换 爬取结果展示 完整程序 前言 (又到了常见的无中生友环节 ...

  9. Python爬虫获取异步加载站点pexels并下载图片(Python爬虫实战3)

    Python爬虫获取异步加载站点pexels并下载图片(Python爬虫实战3) 1. 异步加载爬虫 对于静态页面爬虫很容易获取到站点的数据内容,然而静态页面需要全量加载站点的所有数据,对于网站的访问 ...

最新文章

  1. lda 吗 样本中心化 需要_PCA 与 LDA 分析
  2. python 文件操作 os.readline()函数用法
  3. 【快乐水题】594. 最长和谐子序列
  4. 你技术很强但薪资不涨?这门技术远比你想的更重要!
  5. 软件盘将dialog顶上去_Android dialog软键盘弹出顶起View
  6. cpio备份linux系统,linux cpio 备份命令
  7. TCP/IP 网络协议
  8. 随机微分方程学习笔记03 Fisk-Stratonovich积分
  9. python阿拉伯数字转中文_阿拉伯数字转化为中文数字
  10. 明源软件诚聘.NET软件开发工程师
  11. 翘首期盼的3D仿真练实操全面开启线上学理论,3D练实操,为您插上考证成功的翅膀
  12. pix4d无人机影像处理_PhotoScan和Pix4Dmapper的无人机影像快速处理模式对比实验
  13. java标签outer,java outer
  14. 优秀课程案例|如何用scratch画柱形统计图
  15. MBA-day24 最值问题
  16. 在线抓包工具Whistle
  17. ORA-12012: error on auto execute of job SYS.BSLN_MAINTAIN_STATS_JOB
  18. oracle 不等于但包含空,sql语句不等于null
  19. STM32——FSMC(灵活的静态存储器控制器)驱动TFTLCD液晶屏
  20. 股票L1和L2都代表是什么意思?

热门文章

  1. 【转】Android的root原理
  2. 1077. 皇宫看守
  3. 【金猿案例展】某保险公司——亚信科技大数据产品,助其数据管理 高效运营...
  4. 碳森羿解读新能源市场调研报告,行业发展未来可期
  5. 二维卷积定理的验证(上)
  6. 多元Huffman编码
  7. 打开图片,提示:该文件没有程序与之关联来执行该操作。请在控制面板的文件夹选项中创建关联
  8. 医院影像PACS系统和放射影像科业务
  9. 植物栽培技术,任何人都可以轻松掌握的栽培技术
  10. 关于苹果APP STORE无法连接的问题