Python---实验九

1、使用标准库urllib爬取“http://news.pdsu.edu.cn/info/1005/31269.htm”平顶山学院新闻网上的图片,要求:保存到F盘pic目录中,文件名称命名规则为“本人姓名”+ “_图片编号”,如姓名为张三的第一张图片命名为“张三_1.jpg”。

from re import findall
from urllib.request import urlopenurl = 'http://news.pdsu.edu.cn/info/1005/31269.htm'
with urlopen(url) as fp:content=fp.read().decode('utf-8')pattern = '<img width="500" src="(.+?)"'
#查找所有图片链接地址
result = findall(pattern, content)  #捕获分组
#逐个读取图片数据,并写入本地文件
path='f:/pic/'
name="烟雨"
for index, item in enumerate(result):picture = 'http://news.pdsu.edu.cn/' + itemwith urlopen(str(picture)) as fp:with open(path+name+'_'+str(index+1)+'.png','wb') as fp1: #这里因为是从1开始,这里注意下fp1.write(fp.read())

效果图如下:
在这里插入图片描述

2、采用scrapy爬虫框架,抓取平顶山学院新闻网(http://news.pdsu.edu.cn/)站上的内容,具体要求:抓取新闻栏目,将结果写入lm.txt。

cmd打开之后就别关了
scrapy startproject wsqwsq为项目名
cd wsq
scrapy genspider lm news.pdsu.edu.cnlm为爬虫名称,pdsu.edu.cn为爬取起始位置
在这里插入图片描述
分析:编写正确的正则表达式筛选信息
由关键信息:<h2 class="fl">媒体平院</h2>
筛选其正则表达式如下:soup.find_all('h2', class_='fl')
找到lm.py也就是上面创建的爬虫
编辑:将下面代码负责粘贴下
pip install beautifulsoup4
pip install scrapy
俩第三方库要安装下

# -*- coding: utf-8 -*-
import scrapy
from bs4 import BeautifulSoup
import re class LmmSpider(scrapy.Spider):name = 'lmm'allowed_domains = ['pdsu.cn']start_urls = ['http://news.pdsu.edu.cn/']def parse(self, response):html_doc=response.textsoup= BeautifulSoup(html_doc, 'html.parser')         re=soup.find_all('h2', class_='fl')content=''for lm in re:print(lm.text)content+=lm.text+'\n'with open('f:\\lm.txt', 'a+') as fp:fp.writelines(content)#保存路径可变

scrapy crawl lmlm为爬虫名称
效果图如下:
在这里插入图片描述

3、采用request爬虫模块,抓取平顶山学院网络教学平台上的Python语言及应用课程上的每一章标题(http://mooc1.chaoxing.com/course/206046270.html)。

cmd打开之后就别关了
scrapy startproject yyyy为项目名
cd yy
scrapy genspider beyond news.mooc1.chaoxing.com/course/206046270.htmlbeyond为爬虫名称,mooc1.chaoxing.com/course/206046270.html为爬取起始位置
在这里插入图片描述
分析:编写正确的正则表达式筛选信息
由关键信息:<div class="f16 chapterText">第一章 python概述</div>
筛选其正则表达式如下:soup.findAll('div',class_='f16 chapterText')
找到beyond.py也就是上面创建的爬虫
编辑:将下面代码负责粘贴下

# -*- coding: utf-8 -*-
import scrapy
import re 
import requests
import bs4headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.146 Safari/537.36'
}url='http://mooc1.chaoxing.com/course/206046270.html'
response = requests.get(url,headers=headers).text
soup = bs4.BeautifulSoup(response,'html.parser')
t=soup.findAll('div',class_='f16 chapterText')
for ml in t:print (ml.text)

效果图如下:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/379095.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

32接上拉5v_51单片机P0口上拉电阻的选择

作为I/O口输出的时候时&#xff0c;输出低电平为0 输出高电平为高组态(并非5V&#xff0c;相当于悬空状态&#xff0c;也就是说P0 口不能真正的输出高电平)。给所接的负载提供电流&#xff0c;因此必须接(一电阻连接到VCC)&#xff0c;由电源通过这个上拉电阻给负载提供电流。P…

[转载]FPGA/CPLD重要设计思想及工程应用(时序及同步设计)

来源&#xff1a;http://www.eetop.cn/blog/html/11/317611-13412.html 数字电路中,时钟是整个电路最重要、最特殊的信号。 第一, 系统内大部分器件的动作都是在时钟的跳变沿上进行, 这就要求时钟信号时延差要非常小, 否则就可能造成时序逻辑状态出错. 第二, 时钟信号通常是系统…

实验五 图形设计

每复制一个方法都要绑定Paint事件 一、创建Windows窗体应用程序&#xff0c;要求如下&#xff1a;&#xff08;源代码运行界面&#xff0c;缺少任一项为0分&#xff0c;源代码只需粘贴绘制图形代码所在的方法&#xff0c;不用粘贴太多&#xff09; 例如: &#xff08;1&…

ADO.NET与SQL Server数据库的交互

7.3.1 使用SqlConnection对象连接数据库 例如&#xff1a;建立与SQL Server数据库的连接。 string connstring"Data Sourceservername;uidusername;pwdpassword;Initial Catalogdbname";SqlConnection connnew SqlConnection(connstring);conn.Open(); 例如&#xf…

linux ftp日志_linux学习笔记(一)——Linux分区和目录结构

linux学习笔记&#xff08;一&#xff09;——Linux分区和目录结构安装Linux时&#xff0c;手动挂载分区的情况下&#xff0c;/ 和 swap 是必须要挂载的&#xff0c;其他/home、/boot 等可以根据需要自行挂载。一般来说&#xff0c;简单的话&#xff0c;建议挂载三个分区&#…

vc++ 6.0 堆栈_在C ++中使用链接列表实现堆栈

vc 6.0 堆栈To implement a stack using a linked list, basically we need to implement the push() and pop() operations of a stack using linked list. 要使用链接列表实现堆栈 &#xff0c;基本上&#xff0c;我们需要使用链接列表实现堆栈的push()和pop()操作。 Exampl…

协议地址结构_TCP/IP 协议 讲解

计算机网络体系结构分层太厉害了&#xff0c;终于有人能把TCP/IP 协议讲的明明白白了计算机网络体系结构分层不难看出&#xff0c;TCP/IP 与 OSI 在分层模块上稍有区别。OSI 参考模型注重“通信协议必要的功能是什么”&#xff0c;而 TCP/IP 则更强调“在计算机上实现协议应该开…

28335接两个spi设备_IIC和SPI如此流行,谁才是嵌入式工程师的必备工具?

IICvs SPI现今&#xff0c;在低端数字通信应用领域&#xff0c;我们随处可见 IIC (Inter-Integrated Circuit) 和 SPI (Serial Peripheral Interface)的身影。原因是这两种通信协议非常适合近距离低速芯片间通信。Philips(for IIC)和 Motorola(for SPI) 出于不同背景和市场需求…

线性表15|魔术师发牌问题和拉丁方阵 - 数据结构和算法20

线性表15 : 魔术师发牌问题和拉丁方阵 让编程改变世界 Change the world by program 题外话 今天小甲鱼看到到微博有朋友在问&#xff0c;这个《数据结构和算法》系列课程有木有JAVA版本的&#xff1f; 因为这个问题之前也有一些朋友问过&#xff0c;所以咱在这里统一说下哈…

[ZT]Three ways to tell if a .NET Assembly is Strongly Named (or has Strong Name)

Here are several convenient ways to tell whether a .NET assembly is strongly named. (English language note: I assume the form “strongly named” is preferred over “strong named” since that’s the form used in the output of the sn.exe tool shown immediat…

rstudio 修改代码间距_第一章 R和RStudio

R与RStudioR是一种统计学编程语言&#xff0c;在科学计算领域非常流行。它是由Ross Ihaka和Robert Gentleman开发的&#xff0c;是 "S "编程语言的开源实现。R也是使用这种语言进行统计计算的软件的名字。它有一个庞大的在线支持社区和专门的软件包&#xff0c;可以为…

ubuntu下最稳定的QQ

一、安装好 Wine 1.2&#xff08;1.2 版安装好就支持中文界面的了&#xff09; 当然得有WINE 了 当然我的有 如果没有可以如下方法得到&#xff1a; 第一种方法&#xff1a;如果你已经安装过 Wine 的老版本&#xff0c;那么只要添加 Wine 1.2 的软件源&#xff0c;然后去新立得…

字体Times New Roman

Windows系统中的字体是Monotype公司为微软公司制作的Times New Roman PS&#xff08;TrueType字体&#xff09;&#xff0c;视窗系统从3.1版本开始就一直附带这个字体。而在苹果电脑公司的麦金塔系统中使用的是Linotype公司的 Times Roman (在Macintosh系统中直接简称为‘Times…

磁盘调度算法

1&#xff0c;假设磁头当前位于第105道&#xff0c;正在向磁道序号增加的方向移动&#xff0c;现有一个磁道访问请求序列为&#xff1a;35&#xff0c;45&#xff0c;12&#xff0c;68&#xff0c;100&#xff0c;180&#xff0c;170&#xff0c;195&#xff0c;试用先来先服务…

C++11 std::shared_ptr的std::move()移动语义底层分析

std::shared_ptr的std::move()移动语义底层分析 执行std::move()之前&#xff1a; 执行std::move()之后&#xff1a; 结论&#xff1a;一个浅拷贝 sizeof(std::shared_ptr) 8字节 pss1 : 0x0028fea8 pss2 : 0x0028fea0 &#xff08;栈是逆增长的&#xff09; 观察执行std::m…

python去掉字符串最外侧的引号_疯狂Python讲义第二章读书笔记

本章讲解变量和简单类型2.1 从注释讲起单行注释使用#&#xff0c;#后面的代码被注释掉不会运行&#xff0c;如&#xff1a;# print(123) 注释掉后123不会输出。多行注释使用""" """&#xff0c;三个双引号&#xff0c;双引号中的内容注释掉&…

【转】深入分析 ASP.NET Mvc 1.0 – 1. 深入MvcHandler

MvcHandler是一个mvc程序真正开始的地方&#xff0c;因为你可以直接看到并调试它的源码。 MvcHandler的主要代码如下:protected internal virtual void ProcessRequest(HttpContextBase httpContext) {AddVersionHeader(httpContext);// Get the controller typestring control…

C++11 右值引用与常量左值引用保存临时变量(函数返回值)的底层分析

右值引用保存临时变量&#xff08;函数返回值&#xff09;的问题 &#xff1a;临时变量是右值 1、普通变量接收函数返回值&#xff1a; 2、右值引用变量接收函数返回值&#xff1a; 3、用const int& 和右值引用是一样的效果&#xff0c;只是const int& 就不可以修改…