task1爬虫原理

博客介绍了爬虫基本原理,包括发送请求、获取响应内容、解析内容和保存数据;讲解了HTTP协议及HTML知识,如常用标签等;还介绍了Requests库,包括发起请求和处理响应内容,并布置了用该库获取豆瓣电影TOP250网页文本等作业。

一、爬虫基本原理

1 发送请求

通过HTTP库向目标站点发起请求,即发送一个Request,请求可以包含额外的的headers等信息,等待服务器响应。
浏览器发送消息给该网址所在的服务器

1.1请求方式

1.2请求URL(链接)

URL:http协议 域名 路径
客户端——>服务器

1.3请求头

1.4请求体

2 获取响应内容

如果服务器能正常响应,会得到一个Response,Response的内容便是所要获取的页面

2.1响应状态

200 成功状态码
300 重定向状态码
400 客户端错误状态码
500 服务器错误状态码

2.2响应头

2.3响应体

3 解析内容

3.1解析方式:

直接处理、Json解析、正则表达式、Beautifulsoup、PyQuery、XPath
怎样解决JavaScirp渲染的问题

4 保存数据

文本、关系型数据库、非关系型数据库、二进制文件

二、HTTP协议及HTML知识

1 超文本传输协议(HTTP协议)

2 HTML

标签语言 通过一系列标签构成
常用标签

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

</body>
</html>

2.1<!DOCTYPE html>

告诉浏览器以哪种规范解析文档,浏览器按照标准来渲染页面

2.2<html></html>

2.3 <head></head>

<meta>共有两个属性,分别是http-equiv属性和name属性
name属性主要用于描述网页,与之对应的属性值为content,content中的内容主要是便于搜索引擎机器人查找信息和分类信息用的。

http-equiv相当于http的文件头作用,它可以向浏览器传回一些有用的信息,以帮助正确精准地显示网页内容,一致相对应的属性值为content,其中的内容其实就是各个参数的变量值。
<title> 标签

2.4 <body>

<hn>标题标签
<p> 段落标签,中间有一行空白
<b>加粗标签
<br>换行
<div>块级标签
<span>内联标签
特殊符号

2.5 图形标签<img>

<img src="1.jpg" width="200px" height="200px" alt="京东" title="京东">

2.6 <a>

超链接:<a href="http://www.jd.com">京东</a>
锚标签:

列表标签

<ul>无序列表

<ul>
    <li>1</li>
    <li>2</li>
    <li>3</li>
</ul>
<ol>有序列表<dl>定义列表

2.7表格标签

2.8表单标签

用于向服务器传输数据

<form action="task1.html" "method="get">
    <p>姓名:<input type="text"></p>
    <p>密码:<input type="password"></p>
    <p><input type="submit" value="press"></p>
    <p><input type="button" value="press"></p>
    <p>爱好:篮球<input type="checkbox"></p>
    <p>男<input type="radio" name="sex"></p>
    <p>女<input type="radio" name="sex"></p>
</form>

三、Requests库

1 发起请求

1.1 requests.get()

import requests
url=""
reps=requests.get(url)

1.2 如何构建查询参数

1.3 其他请求方式

还有post等,可以在network headers部分查看具体请求方式

2 响应内容

2.1 编码

encoding=“utf-8”

2.2 将响应的内容保存到文件

with open()

with open(r'C:\Users\赖菲\Desktop\无聊的课程论文\随便学学爬虫\向日葵小组  网络爬虫入门\task\data.txt','a',encoding='utf-8') as f:
    f.write("{}".format(urls))


作业

1 用Requests库获取豆瓣电影TOP250第一页的网页文本

2 打印出豆瓣电影TOP250所有链接

3 将其写入txt文本中

1

import requests

url="https://movie.douban.com/top250?start=0&filter="

resp= requests.get(url)

print(resp.text)

运行结果
在这里插入图片描述
2

import requests
def allurl():
    html = []
    for i in range(10):
        url='https://movie.douban.com/top250?start=%d&filter='%(i*25)
        html.append(url)
    return html
allurl()

运行结果:

['https://movie.douban.com/top250?start=0&filter=',
 'https://movie.douban.com/top250?start=25&filter=',
 'https://movie.douban.com/top250?start=50&filter=',
 'https://movie.douban.com/top250?start=75&filter=',
 'https://movie.douban.com/top250?start=100&filter=',
 'https://movie.douban.com/top250?start=125&filter=',
 'https://movie.douban.com/top250?start=150&filter=',
 'https://movie.douban.com/top250?start=175&filter=',
 'https://movie.douban.com/top250?start=200&filter=',
 'https://movie.douban.com/top250?start=225&filter=']

3

def allurl():
    html = []
    for i in range(10):
        url='https://movie.douban.com/top250?start=%d&filter='%(i*25)
        html.append(url)
    return html
urls=allurl()
print(urls)
with open(r'C:\Users\赖菲\Desktop\无聊的课程论文\随便学学爬虫\向日葵小组  网络爬虫入门\task\data.txt','a',encoding='utf-8') as f:
    f.write("{}".format(urls))

在这里插入图片描述

多源动态最优潮流的分布鲁棒优化方法(IEEE118节点)(Matlab代码实现)内容概要:本文介绍了基于Matlab代码实现的多源动态最优潮流的分布鲁棒优化方法,适用于IEEE118节点电力系统。该方法结合两阶段鲁棒模型与确定性模型,旨在应对电力系统中多源不确定性(如可再生能源出力波动、负荷变化等),提升系统运行的安全性与经济性。文档还列举了大量相关的电力系统优化研究案例,涵盖微电网调度、电动汽车集群并网、需求响应、配电网重构等多个方向,并提供了YALMIP等工具包的网盘下载链接,支持科研复现与进一步开发。整体内容聚焦于电力系统建模、优化算法应用及鲁棒性分析。; 适合人群:具备电力系统基础知识和Matlab编程能力的研究生、科研人员及从事能源系统优化的工程技术人员;熟悉优化建模(如鲁棒优化、分布鲁棒优化)者更佳。; 使用场景及目标:①开展电力系统动态最优潮流研究,特别是含高比例可再生能源的场景;②学习和复现分布鲁棒优化在IEEE118等标准测试系统上的应用;③进行科研项目开发、论文复现或算法比较实验;④获取相关Matlab代码资源与仿真工具支持。; 阅读建议:建议按文档结构逐步浏览,重点关注模型构建思路与代码实现逻辑,结合提供的网盘资源下载必要工具包(如YALMIP),并在Matlab环境中调试运行示例代码,以加深对分布鲁棒优化方法的理解与应用能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值