利用Python网络爬虫爬取学校官网十条标题

案例代码:

# __author : "J"
# date : 2018-03-06 # 导入需要用到的库文件
import urllib.request
import re
import pymysql # 创建一个类用于获取学校官网的十条标题
class GetNewsTitle: # 构造函数 初始化
def __init__(self):
self.request = urllib.request.Request("http://www.sict.edu.cn/") # 需要爬取的网址
# 利用正则表达式筛选数据
self.my_re = re.compile(
r'学校要闻.*?' +
r'"a2" >(.*?)</a>.*?' +
r'"a2" >(.*?)</a>.*?' +
r'"a2" >(.*?)</a>.*?' +
r'"a2" >(.*?)</a>.*?' +
r'"a2" >(.*?)</a>.*?' +
r'"a2" >(.*?)</a>.*?' +
r'"a2" >(.*?)</a>.*?' +
r'"a2" >(.*?)</a>.*?' +
r'"a2" >(.*?)</a>.*?' +
r'"a2" >(.*?)</a>.*?' +
r'院部简讯') # 创建一个方法
def get_html(self):
try:
response = urllib.request.urlopen(self.request)
# 获取目标网页源码
my_html = response.read().decode('GB2312').replace("\r\n", "")
return my_html
except urllib.request.HTTPError as e:
print(e.code)
print(e.reason)
return # 创建一个函数,利用正则获取指定标题
def get_titles(self, my_html):
news_titles = re.findall(self.my_re, my_html)
return news_titles # 创建一个方法,把获取到的标题存入mysql数据库
def into_mysql(self, titles):
for num in range(10):
connection = pymysql.connect(host='127.0.0.1', port=3306, user='root', password='******', db='school',
charset='utf8')
cursor = connection.cursor()
sql = "INSERT INTO `newsTitles` (`title`) VALUES ('" + titles[0][num] + "')"
cursor.execute(sql)
connection.commit()
cursor.close()
connection.close() # 执行函数的入口
def start(self):
self.into_mysql(self.get_titles(self.get_html()))
print("存储成功!") # 实例化类
s = GetNewsTitle()
# 调用方法开始执行
s.start()

效果:

利用Python网络爬虫爬取学校官网十条标题的更多相关文章

  1. 如何利用Python网络爬虫爬取微信朋友圈动态--附代码(下)

    前天给大家分享了如何利用Python网络爬虫爬取微信朋友圈数据的上篇(理论篇),今天给大家分享一下代码实现(实战篇),接着上篇往下继续深入. 一.代码实现 1.修改Scrapy项目中的items.py ...

  2. 如何利用Python网络爬虫抓取微信好友数量以及微信好友的男女比例

    前几天给大家分享了利用Python网络爬虫抓取微信朋友圈的动态(上)和利用Python网络爬虫爬取微信朋友圈动态——附代码(下),并且对抓取到的数据进行了Python词云和wordart可视化,感兴趣 ...

  3. 如何利用Python网络爬虫抓取微信朋友圈的动态(上)

    今天小编给大家分享一下如何利用Python网络爬虫抓取微信朋友圈的动态信息,实际上如果单独的去爬取朋友圈的话,难度会非常大,因为微信没有提供向网易云音乐这样的API接口,所以很容易找不到门.不过不要慌 ...

  4. 利用Python网络爬虫抓取微信好友的所在省位和城市分布及其可视化

    前几天给大家分享了如何利用Python网络爬虫抓取微信好友数量以及微信好友的男女比例,感兴趣的小伙伴可以点击链接进行查看.今天小编给大家介绍如何利用Python网络爬虫抓取微信好友的省位和城市,并且将 ...

  5. 利用Python网络爬虫抓取微信好友的签名及其可视化展示

    前几天给大家分享了如何利用Python词云和wordart可视化工具对朋友圈数据进行可视化,利用Python网络爬虫抓取微信好友数量以及微信好友的男女比例,以及利用Python网络爬虫抓取微信好友的所 ...

  6. 如何用Python网络爬虫爬取网易云音乐歌曲

    今天小编带大家一起来利用Python爬取网易云音乐,分分钟将网站上的音乐down到本地. 跟着小编运行过代码的筒子们将网易云歌词抓取下来已经不再话下了,在抓取歌词的时候在函数中传入了歌手ID和歌曲名两 ...

  7. Python网络爬虫-爬取微博热搜

    微博热搜的爬取较为简单,我只是用了lxml和requests两个库 url=https://s.weibo.com/top/summary?Refer=top_hot&topnav=1& ...

  8. 04 Python网络爬虫 <<爬取get/post请求的页面数据>>之requests模块

    一. urllib库 urllib是Python自带的一个用于爬虫的库,其主要作用就是可以通过代码模拟浏览器发送请求.其常被用到的子模块在Python3中的为urllib.request和urllib ...

  9. python网络爬虫&&爬取网易云音乐

    #爬取网易云音乐 url="https://music.163.com/discover/toplist" #歌单连接地址 url2 = 'http://music.163.com ...

随机推荐

  1. opengl导入obj模型

    在经过查阅各种资料以及各种bug之后,终于成功的实现了导入基本的obj模型. 首相介绍一下什么是obj模型 一.什么是OBJ模型 obj文件实际上是一个文本文档,主要有以下数据,一般可以通过blend ...

  2. 学习计划 mysql 引擎

    -- 什么是引擎? 按照我现在的勒戒,就可以提供 Mysql 对不同表的处理方式,各有优缺点. 就像名字一样,把我们数据库看成法拉利的话,引擎也就是发送机,有的跑的快,有的距离长....... -- ...

  3. CentOS关闭防火墙&SELinux

    须知: 防火墙配置文件:/etc/sysconfig/iptables 查看防火墙状态:service iptables status 关闭防火墙:service iptables stop 关闭ip ...

  4. java 8 学习资料

    出处: 总览 http://www.importnew.com/24300.html stream api 详解 : https://www.ibm.com/developerworks/cn/jav ...

  5. Why String is Immutable or Final in Java

    The string is Immutable in Java because String objects are cached in String pool. Since cached Strin ...

  6. scrapy的post登录:renren

    # -*- coding: utf-8 -*- import scrapy class RenrenSpider(scrapy.Spider): name = 'renren' allowed_dom ...

  7. 纯css打造凹进与突出效果

    1.凹进效果   background:#f2f2f2  center repeat; border-bottom: 1px solid #e9e9e9;border-top: 1px solid # ...

  8. go for cryptocurrency

    https://blog.conformal.com/category/btcd/ https://github.com/btcsuite/btcd/tree/master/docs https:// ...

  9. [py]flask蓝图的使用

    参考 flask挺挺轻巧的, 因此玩一玩它. 如果用它做大型点的项目, 就用到了它的蓝图组织项目. 一时半会不太清楚这玩意怎么用, 得撸一撸py基础了. 我搞了个movie小的flask栗子来用用蓝图 ...

  10. [LeetCode] 133. Clone Graph_ Medium tag: BFS, DFS

    Clone an undirected graph. Each node in the graph contains a label and a list of its neighbors. OJ's ...