请选择 进入手机版 | 继续访问电脑版
设为首页收藏本站

全球主机交流论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
热搜: discuz
查看: 460|回复: 0

python语言怎么利用数据采集服务器“扒站”

[复制链接]

该用户从未签到

发表于 2018-12-12 10:04:34 | 显示全部楼层 |阅读模式
众所周知,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

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|中国U网    

GMT+8, 2024-3-28 19:51 , Processed in 0.074972 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表