首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python爬虫之路01-2018大学排行榜

前言:这是我发布的第一个技术文章.记录分享我的学习笔记

第一次发文章可能会写得不好,但我相信经过以后的累积或许会得到改善吧..

=========华丽分割线=============

注意:这里需要一定的python基础,这里自行搜索廖雪峰python,他的教程说的很详细而且通俗易懂,适合0基础的同学参考.

回到正题,可以先从简单的静态网页爬取开始,今天要爬取的是2018大学排行榜.在开始之前,推荐同学们去看下中国MOOC上北京理工大学嵩天老师的视频,Python网络爬虫与信息提取(链接提供不了,同学们可以自行搜索)

这个练习就是出自这位老师的视频的

运行平台:Windows

Python版本:Python3.6x

IDE:Sublime Text Python自带IDLE

其他:FireFox浏览器

简述流程为:

1)简单利用IDE测试网页

运行效果为:(部分效果)

这里表示已经成功利用python访问了这个网页

2)分析

浏览器上查看网页信息→从网页中获取HTML文本→提取网页信息并存入合适的数据结构→利用数据结构输出结果

打开网页可以看到

,好不着急,我们就是要爬取排行榜的内容,有点HTML基础的同学相信已经看出来了,没错,这是一个表格,里面就是存储我们要获取的内容,没有看懂这里的同学不用丧气,来!跟着我.

鼠标右键→查看网页代码

CTRL+F搜索关键字"清华大学"看看呗

哦吼!看到搜索结果了.定位到的这个标签,ok.写代码的时候用Python直接定位到这里,排除不需要的信息

3)编写代码

需要引用的库:

import requests

from bs4 import BeautifulSoup

import bs4

图片中代码已有详细的注释.

定义一个框架,get_one_page()函数来获取html网页信息,使用try,except来获取

定义get_one_list()将获取的信息存储到列表中

定义print_one_list()打印输出格式化列表

首先来理解一下tplt这个字符串的结构,如图所示:

关于chr(12288)则是嵩天老师在优化中文对齐时提到的,因为中文字符对齐与英文字符对齐的宽度不一样,所以用chr(12288)使得采用中文字符的空格对齐。

定义主函数main()并调用

#这个10是我想获取排名的数量

最后加以改进

运行代码效果如下:

OK..大功告成

END

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180606G02B5S00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券