Python-自学爬虫篇

 

1.猜拳游戏:玩家从控制台输入手势与电脑进行人机PK:(ps:pk表帮助理解)

PK表
玩家电脑玩家电脑玩家电脑
石头 1    剪刀剪刀 剪刀石头
剪刀 2  石头石头剪刀石头
布   3  石头布  布  剪刀
                玩家赢              平局           电脑赢

 

 

 

 

 

 

下面直接上程序喽:

import random
# 1.玩家从控制台输入手势
player_str = input('请输入要输出的手势[石头]/1 [剪刀]/2 [布]/3:')
# 类型转换
player = int (player_str)
# 2.电脑输出手势
computer = random.randint(1,3)
print(computer)
# 3.玩家和电脑进行比较
if (player==1 and computer==2 ) or(player==2 and computer==3) or(player==3 and computer==1):
    print('win!')
elif player==computer:
    print('go on!')
else:
    print('computer is perfect!')

注:此处用到随机数random.randint()   #randint 产生整数类型的数据,包含头和尾.

2.打印小星星

先把怎样的小星星展示一下:

*
**
***
****
*****

代码:(这里可能也就我会想当然吧,不过还是要说下Debug调试的好处,它可以帮你理清思路,超好用!)

row=1
while row<=5:
    col = 1
    while col<=row:
        print('*',end='')
        col+=1
    print()
    row+=1

3.九九乘法表:

row =1
while row<=9:
    col=1
    while col<=row:
        print('{}*{}'.format(row,col),end=' ')
        col+=1
    print()
    row+=1

就是一想就会想到的九九乘法表,不过这里又学到一个新的格式化输出语句,使用占位符

 print('{}*{}'.format(row,col),end=' ')

简单网络爬虫

老规矩先解释:

1.网络爬虫:模拟客户端发送网络请求,接受请求响应,一种按照一定的规则,自动的抓取互联网信息的程序。

2只要浏览器能做的事情,原则上,爬虫都能做。

3网络爬虫的步骤

(1)构造url列表

(2)遍历url列表,发送请求,获取响应

(3)保存数据

练习1:先来保存一张 idol 的照片吧

import requests
url = "http://imgsrc.baidu.com/forum/w%3D580%3B/sign=a011b898a7773912c4268569c8228618/63d0f703918fa0ec5ee89a28289759ee3d6ddbec.jpg"
header = {
    "User-Agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36"
}
response = requests.get(url, headers = header)

with open('bd.png', mode='wb') as f:
    ret = response.content
    f.write(ret)
pass

对的就是这个:

                     

注意:

url:即为你要保存的图片地址。

header:跟着我的步骤来------>先打开贴吧----->按F12得如下图:

然后依次根据图片顺序步骤来操作:

到关键步骤了:

好啦,需要的参数都有了,代码在下方:

import requests
url = "http://imgsrc.baidu.com/forum/w%3D580%3B/sign=a011b898a7773912c4268569c8228618/63d0f703918fa0ec5ee89a28289759ee3d6ddbec.jpg"
header = {
    "User-Agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36"
}
response = requests.get(url, headers = header)

with open('bd.png', mode='wb') as f:
    ret = response.content
    f.write(ret)
pass

练习2.保存网页

注:参数获取步骤都一样,这里就不再说了。

import requests
def  down_tieba():
    url="http://tieba.baidu.com/f?kw=朱一龙&ie=utf-8&pn=50"
    header={
    "User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.26 Safari/537.36 Core/1.63.6788.400 QQBrowser/10.3.2767.400"
        }
    response=requests.get(url,headers=header)
    ret=response.content.decode()
    with open('file1/第一页.html',mode='w',encoding='utf-8') as  f :
         f.write(ret)
    pass
down_tieba()

练习3:爬虫下载百度贴吧所有内容

# 爬虫下载百度贴吧所有内容
import requests


def down_alltieba():
    url_temp = "http://tieba.baidu.com/f?kw=朱一龙&ie=utf-8&pn={}"
    header = {
        "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.26 Safari/537.36 Core/1.63.6788.400 QQBrowser/10.3.2767.400"
    }

    #1.构造url列表
    url_list = []
    for index in range(100):
        index=(index-1)*50
        url=url_temp.format(index)
        url_list.append(url)
        # print(url)
     #2.循环下载
    num=1
    for url in url_list:
        print('正在下载第{}页.html'.format(num))
        response=requests.get(url,headers=header)
        html_content=response.content.decode()
        with open('tieba/第{}页.html'.format(num),'w',encoding='utf-8') as f:
            f.write(html_content)
        num+=1
down_alltieba()

注意:

 

结果展示一下:

 

本来好多页的,我中途停止执行了,所以到第11页。


                                                    完成了,我要去好好度过我这个周末了。

                                                

 

内容概要:本文系统介绍了算术优化算法(AOA)的基本原理、核心思想及Python实现方法,并通过图像分割的实际案例展示了其应用价值。AOA是一种基于种群的元启发式算法,其核心思想来源于四则运算,利用乘除运算进行全局勘探,加减运算进行局部开发,通过数学优化器加速函数(MOA)和数学优化概率(MOP)动态控制搜索过程,在全局探索与局部开发之间实现平衡。文章详细解析了算法的初始化、勘探与开发阶段的更新策略,并提供了完整的Python代码实现,结合Rastrigin函数进行测试验证。进一步地,以Flask框架搭建前后端分离系统,将AOA应用于图像分割任务,展示了其在实际工程中的可行性与高效性。最后,通过收敛速度、寻优精度等指标评估算法性能,并提出自适应参数调整、模型优化和并行计算等改进策略。; 适合人群:具备一定Python编程基础和优化算法基础知识的高校学生、科研人员及工程技术人员,尤其适合从事人工智能、图像处理、智能优化等领域的从业者;; 使用场景及目标:①理解元启发式算法的设计思想与实现机制;②掌握AOA在函数优化、图像分割等实际问题中的建模与求解方法;③学习如何将优化算法集成到Web系统中实现工程化应用;④为算法性能评估与改进提供实践参考; 阅读建议:建议读者结合代码逐行调试,深入理解算法流程中MOA与MOP的作用机制,尝试在不同测试函数上运行算法以观察性能差异,并可进一步扩展图像分割模块,引入更复杂的预处理或后处理技术以提升分割效果。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值