- 博客(9)
- 收藏
- 关注
原创 Python爬虫之自动下载图片
对大佬的图片下载器的小程序很感兴趣,故运行了一下代码块,发现会报类似下图中的Exceeded 30 redirects错。 故重新编写了一个访问函数来实现图片下载功能,不过还是要感谢大佬很有趣的idea。 一、自动下载图片流程 总结网址规律,以便根据网址访问网页; 根据网址规律,循环爬取并返回网页; 利用正则表达式提取并返回图片。 二、Python实现 根据总结的爬图片流程,按步骤进行Python实现如下: 总结网址规律 打开百度-点击图片一栏,可以看到此时的网址为: https://image
2021-01-25 18:10:32
959
1
原创 Python爬虫之爬取豆瓣图书TOP250
爬取豆瓣图书TOP250图书信息及图书海报 写这篇主要是为了去图书馆不知道看什么书或者不知道该买些什么书的时候可以参考经过众多豆友们点评出的好书推荐,哈哈哈哈哈。 上代码(全部代码均在这里,只是分开按照步骤解释一下) 第一步:导入需要用到的包。 from bs4 import BeautifulSoup # 网页解析,获取数据 import urllib.request, urllib.error # 指定url,获取网页数据 import re
2021-01-21 18:14:58
8474
原创 Python爬虫之urllib库
python爬虫之urllib库 一、urllib简介 urllib是python中的一个http请求库,借助urllib,我们可以向浏览器发出请求,只需向urllib库中的方法传入url和一些参数即可。 urllib库中包含以下模块: urllib.request http请求模块,用于模拟向浏览器发出请求的过程; urllib.error 异常处理模块,当利用urllib.request模拟向浏览器发出请求时,如果出现请求错误,可以利用此模块捕获异常信息,然后进行重试或其他操作,以保证程序不会意
2021-01-19 14:19:26
841
3
原创 集合覆盖问题-基于贪心思想的近似算法-python实现
写这篇主要是想与线性规划求解集合覆盖问题做个性能对比,基于后者的实现方法可参考博文。 本文中数据集X及集族生成规则同上一篇,这里不再介绍。整个贪心算法解决集合覆盖问题的实现代码如下。 # 集合覆盖问题-part1-贪心算法 import time import random from itertools import chain import matplotlib.pyplot as plt # 生成有限集X X = set() iter_ = [100,200, 500] time_cost = []
2020-05-29 18:17:37
1941
原创 集合覆盖问题-线性规划求解-python实现
基于贪心思想的近似算法是目前常用的解决集合覆盖问题的算法,网上也有很多相关的实现代码。 除此之外,线性规划其实也能够解决集合覆盖问题,之所以不常用是因为算法效率相对贪心算法较低(具体原理这里不再解释),下面对比分析两个算法在解决集合覆盖问题上的性能。 首先生成符合条件的集合和子集族 生成集合 # 生成大小固定的集合X,利用python内置函数set能避免集合元素重复问题 X = set() for n in range(1000): X = random.sample(range(1, 1000
2020-05-28 23:38:23
5059
3
原创 随机数的性能检验-matlab实现
常用的随机数性能检验方法有:参数检验、均匀性检验、独立性检验和组合规律检验,下面用matlab一一实现这些检验。(程序中调用的随机数序列生成函数square_mid_rand参考博文) 本博文实现参数检验和均匀性检验,后两种方法的实现见博文。 参数检验 一般检验随机数序列的均值、方差、峰度和偏度,matlab实现如下: % 随机数发生器生成随机数序列 [T,u1] = square_mid_rand(231, 2, 100); % 函数调用 [t1,t2,t3,t4] = parameter_test
2020-05-22 00:30:17
5771
原创 凸包问题-Graham-Scan算法-python实现
一般来说凸包问题有三种解决方式:蛮力法、Graham-Scan法和分治法。关于蛮力法和分治法的python实现可参考博文:蛮力法、分治法,博主写的很清晰。 这里主要介绍Graham-Scan算法的实现,网上的Graham-Scan算法python实现很多,如这篇博文,原理和实现都很清晰,但是当时使用这个程序测试很大的数据量(如超过1000个点以上)时会报如下错误。 程序报错说栈空,应该是数据点很多的时候多点共线,栈内元素连续弹出,因此基于这篇博文改了一些代码,实现代码如下: import matplotli
2020-05-20 12:32:15
2457
原创 随机数组合发生器-matlab实现
单个的随机数发生器在周期性等方面存在缺陷,组合发生器是将两个或者多个独立的随机数发生器以某种方式组合起来,使得新组合的随机数发生器具有更长的周期和良好的统计性质。 在组合发生器中比较著名的是M.D.Maclaren和G.Marsaglia于1965年提出的组合同余法,生成规则如下: 采用第一个线性同余发生器M1生成k个随机数,把k个数按序依次存放在某一个向量T中,T=(t1,t2,…,tk),令n=1; 用第二个线性同余发生器M2生成一个随机整数j,满足1 <= j <= k; 令xn = t
2020-05-18 16:04:26
3048
原创 五种常用的随机数发生器-matlab实现
五种常用的随机数发生器-matlab实现 五种常用的随机数发生器包括平方取中发生器、乘积取中发生器、线性同余发生器、常数乘子发生器和斐波那契发生器。 平方取中发生器 clc clear all close all % 调用函数---参数可修改 [x0,u0] = Square_mid_rand(156, 2, 20); % 定义函数 function [x u] = Square_mid_rand(x0, k, maxIter) x = []; % 初始化空矩阵 u = []
2020-05-17 15:22:25
7101
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅