IDE:jupyter Notebook
python version:python 3.6

目标数据:学校官网新闻(一页)
网址:*

使用到的库:requests urllib re BeautifulSoup os parse
( 我使用的是Anaconda3,所以一般常用的库都不需要额外来安装 )
( 如需安装:pip install <库名> )

思路:

1,获取目标网站源代码
2,从源代码中获取新闻超链接
3,通过新闻超链接获取内文
4,保存到本地*

开工

import requests
import urllib
import re
import os
from bs4 import BeautifulSoup
from urllib import parse

#1.获取网站源代码
respones = requests.get('http://**********/')
respones.encoding = 'utf-8'
html = respones.text
#获取网页源代码
#print(html)
#使用BeautifulSoup 解析网页
soup = BeautifulSoup(html,'html.parser')#2.获取文章超链接
#req 定义匹配规则
req = r'<li class="line">.*?<a href="(.*?)" target="_blank" title="(.*?)">.*?<span>.*?</span>.*?<font>(.*?)</font>.*?</a>.*?</li>'
#提升匹配效率
req = re.compile(req,re.S)
#findall 匹配模式
result = re.findall(req,html)
#使用for 循环分离新闻超链接和新闻标题
for url in result:
res = (url)#不带主域名的url的连接##
url = parse.urljoin(response.url,res[0])#新闻标题
title = res[1]
#print(url,title)
# 3获取新闻内容# 获取新闻内容源代码
chapt_html = requests.get(url)
chapt_html.encoding = 'uft-8'
html1 = chapt_html.text
soup1 = BeautifulSoup(html1,'html.parser')
#print(html1)
#获取文章内文
content1 = soup1.select('#textbody')
content = content1[0].text
#print(content)#4 保存到本地#用标题显示下载进程
print("正在下载:%s"%title)#下载新闻
#编码问题:定义目标文件的编码,使编码保持一致
f = open('{}.txt'.format(title),'w',encoding = 'utf-8')
f.write(content)
f.close()

遇到的问题:

             1.抓取新闻超链接时,得到的是不带主域名的url

解决方法:

        1.导入urllib的parse2.调用parse.urljoin()进行拼接from urllib import parseurl = parse.urljoin(response.url, get_url)
#其中response.url会自动提取出当前页面url的主域名,get_url是从response中的元素中提取的没有主域名的url

原文链接:
爬虫——response中获取的不带主域名的url的拼接

            2.保存到本地时出现的乱码问题

解决办法:

                2.统一文件的编码

原文链接:
编码问题(原标题太长…)

python --爬虫爬取学校官网新闻并下载到本地相关推荐

  1. Python 数据采集-爬取学校官网新闻标题与链接(基础)

    Python 爬虫爬取学校官网新闻标题与链接 一.前言 二.扩展库简要介绍 01 urllib 库 (1)urllib.request.urlopen() 02 BeautifulSoup 库 (1) ...

  2. Python 数据采集-爬取学校官网新闻标题与链接(进阶)

    Python 爬虫爬取学校官网新闻标题与链接(进阶) 前言 一.拼接路径 二.存储 三.读取翻页数据 四.完整代码展示 五.小结 前言 ⭐ 本文基于学校的课程内容进行总结,所爬取的数据均为学习使用,请 ...

  3. (6)Python爬虫——爬取中新网新闻

    工欲善其事,必先利其器.我们要进行数据挖掘,就必须先获取数据,获取数据的方法有很多种,其中一种就是爬虫.下面我们利用Python2.7,写一个爬虫,专门爬取中新网http://www.chinanew ...

  4. 爬取学校官网信息公告并存入数据库

    前段时间做了爬取学校信息并展示的小软件,爬取内容包括学校官网.教学管理系统.招生就业信息等,其中用到了QueryList库.翻页爬虫,定时爬虫,插入数据库等 不熟系QueryList的可以看一下我的这 ...

  5. python爬虫爬取彼岸图网图片

    python爬虫爬取彼岸图网图片 话不多说,直接上代码! import requests from PIL import Image from io import BytesIO import re ...

  6. python爬虫图片实例-Python爬虫爬取煎蛋网图片代码实例

    这篇文章主要介绍了Python爬虫爬取煎蛋网图片代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 今天,试着爬取了煎蛋网的图片. 用到的包: ...

  7. Python爬虫爬取煎蛋网图片代码实例

    这篇文章主要介绍了Python爬虫爬取煎蛋网图片代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 今天,试着爬取了煎蛋网的图片. 用到的包: ...

  8. 定时爬取学校官网讲座公告并邮件发给自己

    文章目录 前言 流程 各部分说明 获取网页-Request库 从HTML中提取数据-BeautifulSoup库 BeautifulSoup-转换成`BeautifulSoup` 的对象 find() ...

  9. python 爬虫爬取煎蛋网妹子图,我1T的硬盘装满了!

    前言 大家好,这里是「brucepk」爬虫 系列教程.此系列教程以实例项目为材料进行分析,从项目中学习 python 爬虫,跟着我一起学习,每天进步一点点. 煎蛋网站 image 很多朋友都反应学 p ...

最新文章

  1. 编程入门到进大厂,你需要这套学习架构
  2. c++标准程序库异常
  3. WPF之Binding(转)
  4. jquery一些基本函数
  5. 小团队前端部署演化之路
  6. 【dfs】I Like Matrix!
  7. 如何自定义容器网络?- 每天5分钟玩转 Docker 容器技术(33)
  8. 2.ubuntu 配置目录
  9. springboot的war部署到tomcat正常启动,访问404问题
  10. Linux安装gcc和运行代码教程
  11. 魔兽单机80mysql创建账号_本站魔兽世界单机版如何注册账号及局域网架设 | 游戏海湾...
  12. TOP100summit:【分享实录-猫眼电影】业务纵横捭阖背后的技术拆分与融合
  13. 二月二龙抬头【集锦】
  14. 2021阿里巴巴国际站产品关键词来源(一)
  15. 第50届IMO预选题
  16. 01 为什么要学习计算机组成原理?
  17. HashMap源码解析JDK1.8 —————— 开开开山怪
  18. 5.文献研读---基于教育数据挖掘的在线学习者 学业成绩预测建模研究--陈子健 朱晓亮...
  19. 解决使用高分辨率笔记本分辨率放大100%以上运行程序界面控件不跟随方大方式qt+gtk+ui
  20. vue IconPark 图标 的使用

热门文章

  1. SyntaxError: Unexpected token T in JSON at position 0 的解决
  2. 计算机和商务英语联系,商务英语和外贸英语的区别是什么?
  3. 【云云怪】第2个项目:快速算卦小屋
  4. 实战毕业论文排版技巧之参考文献尾注
  5. 一行代码搞定信用评分模型(python)
  6. 图解 赫夫曼编码?(赫夫曼大叔开讲啦!!!)
  7. 第八章 管理支付和订单
  8. #include使用“文件名“和<文件名>引入头文件的区别及简述
  9. HTML高德地图标点
  10. vscode配置git