01
爬虫思路
Law
输入:大学排名URL链接
输出:大学排名信息的屏幕输出(排名,大学名称,总分)
技术路线:requests-bs4
定向爬虫:仅对输入URL进行爬取,不拓展爬取
搜索清华大学查看Robots协议,http://www.zuihaodaxue.cn/robots.txt
结果显示Not Found,说明这个网址并没有对爬虫做相关的限制,因此对爬取大学排名的功能是可取的合法的
02
程序结构设计
Law
1.从网络上获取大学爬取网页内容
2.提取网页内容中信息到合适的数据结构中,即将数据变成代码的一部分
3.利用数据结构展示并输出结果
03
程序实例
Law
1.从网络上获取大学排名网页内容getHTMLText()
2.提取网页内容中信息到合适的数据结构中,fillUnivList()
3.利用数据结构展示并输出结果printUnivList()
import requests
from bs4 import BeautifulSoup
def getHTMLText(url):
return “”
def fillUnivList(ulist,num):
print(“Suc”+str(num))
def main():
unifo=[]
url=
'http://zuihaodaxue.cn/zuihaodaxuepaiming2016.html’
html = getHTMLText(url)
fillUnivList(uniform,html)
printUnivList(unief,20)
04
文本工具特点
Law
以上实操案例初尝试,介绍一下python的常用文本工具,我的电脑自带的是IDLE,但是自带的,默认,常用的IDLE,虽然具有交互式、文件功能,但是代码不超过300行。
sublime Text:专用工具,增强专业编程体验。多种编程风格。收费版本和免费版本。
wing:公司维护,收费,调试功能,版本控制和同步,适合多种人一起开发。
PTVS:win环境为主,公司维护。
pydev:开源IDE工具。
pycharm:社区免费版本,简单,集成度高,适合较为复杂的程序。
Cnopy:公司维护,500个第三方库,适合科学计算领域。
Anacoda:可以说是对python的集成,自带3000多个强大的包,能够满足大多数用户的需求。
05
Request库安装方法
Law
mac版本:打开terminal 输入pip3 install requests
>>> import requests
>>> r =requests.get("http://www.baidu.com”)
>>> r.status_code 查看状态码
200 #如果状态码是200说明访问成功,若不是200,说明访问失败。
>>> r.encoding = 'utf-8’更改编码为utf-8
>>>r.text 获取网页内容
06
requests.get()使用
Law
requests.get(url,params=None,**kwargs)
url:拟获取页面的url链接
params:url中额外参数,字典或字节流格式,可选
requests.get()的使用是一个很神奇的方法,刚开始会觉得很简单,为什么说神奇(器)呢,因为真正的高手,能够设计调度器进行调度请求,这应该是需要学到一定深度后才能达到,特别是学Scrapy后会有不一样的深理解deep。