众所周知,Python是一种计算机程序设计语言。是一种动态的、面向对象的脚本语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。由于Python语言的 简洁性、易读性以及可扩展性,大多数个人站长以及企业利用这一语言做数据采集。
1Python可以做什么?1、数据库:Python在数据库方面很优秀,可以和多种数据库进行连接,进行数据处理,从商业型的数据库到开放源码的数据库都提供支持。例如:Oracle, My SQL Server等等。有多种接口可以与数据库进行连接,至少包括ODBC。有许多公司采用着Python+MySQL的架构。因此,掌握了Python使你可以充分利用面向对象的特点,在数据库处理方面如虎添翼。 2、多媒体:利用PIL、Piddle、ReportLab 等模块,你可以处理图象、声音、视频、动画等,从而为你的程序添加亮丽的光彩。动态图表的生成、统计分析图表都可以通过Python来完成。 3、web开发框架:django是流行的web开发框架,使用优雅的python语言写成。采用MVC的软件设计模式,主要目标是使得开发复杂的、数据库驱动的网站变得简单。 4、科学计算:说起科学计算,首先会被提到的可能是MATLAB。然而除了MATLAB的一些专业性很强的工具箱还无法替代之外,MATLAB的大部分常用功能都可以在Python世界中找到相应的扩展库。 5、网络编程: Python可以非常方便的完成网络编程的工作,提供了众多的解决方案和模块,可以非常方便的定制出自己的服务器软件,无论是c/s,还是b/s模式,都有很好的解决方法。
python语言怎么利用数据采集服务器“扒站”呢?
收集页面标题、正文的第一个段落,以及编辑页面的链接这些信息。 from urllib.request import urlopenfrom bs4 import BeautifulSoupimport re pages=set()def getLinks(pageUrl): #定义全局变量 global pages html=urlopen("https://en.wikipedia.org"+pageUrl) bsObj=BeautifulSoup(html,"html.parser") try: print(bsObj.h1.get_text()) print(bsObj.find(id="mw-content-text").findAll("p")[0]) print(bsObj.find(id="ca-edit").finf("span").find("a").attrs["href"]) except AttributeError: print("页面缺少一些属性") for link in bsObj.findAll("a",href=re.compile("^(/wiki/)")): # 遇到新的界面 newPage=link.attrs['href'] print("------------\n"+newPage) pages.add(newPage) getLinks(newPage) getLinks("") 1、所有的标题(所有页面上,不论是词条页面、编辑历史页面还是其他页面)都是在h1 → span 标签里,而且页面上只有一个h1 标签。 2、所有的正文文字都在div#bodyContent 标签里。获取第一段文字,用div#mw-content-text → p 更好(只选择第一段的标 签)。 3、编辑链接只出现在词条页面上。如果有编辑链接,都位于li#ca-edit 标签的li#caedit→ span → a 里面。
耀磊科技有限公司
耀磊小王q82986174
|