- 博客(38)
- 资源 (2)
- 收藏
- 关注
原创 07_数据提取_BeautifulSoup
1. Beautiful Soup的简介Beautiful Soup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不需要多少代码就可以写出一个完整的应用程序。Beautiful Soup自动将输入文档转换为Unicode编码,输出文档转换为utf-8编码。你不需要考虑编码方式,除非文档没有指定一个编码方式,这时,Beautiful Soup就不能自动识别编码方式了。然后,你仅仅需要说明一下原始编码方式就
2022-05-16 14:46:43
253
原创 06_数据提取_正则表达式
1. 提取数据在前面我们已经搞定了怎样获取页面的内容,不过还差一步,这么多杂乱的代码夹杂文字我们怎样把它提取出来整理呢?下面就开始介绍一个十分强大的工具,正则表达式!正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则表达式是用来匹配字符串非常强大的工具,在其他编程语言中同样有正则表达式的概念,Python同样不例外,利用了正则表达式,我们想要从返回的页面内容提取出我们想要的内容
2022-05-16 14:45:34
107
原创 05_requests库的用法
1. 介绍对了解一些爬虫的基本理念,掌握爬虫爬取的流程有所帮助。入门之后,我们就需要学习一些更加高级的内容和工具来方便我们的爬取。那么这一节来简单介绍一下 requests 库的基本用法2. 安装利用 pip 安装pip install requests3. 基本请求req = requests.get("http://www.baidu.com")req = requests.post("http://www.baidu.com")req = requests.put("http:/
2022-05-16 14:44:38
123
原创 04_URLError与Cookie
1. Cookie为什么要使用Cookie呢?Cookie,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)比如说有些网站需要登录后才能访问某个页面,在登录之前,你想抓取某个页面内容是不允许的。那么我们可以利用Urllib库保存我们登录的Cookie,然后再抓取其他页面就达到目的了。1.1 Opener当你获取一个URL你使用一个opener(一个urllib.OpenerDirector的实例)。在前面,我们都是使用的默认的opener,也就是url
2022-05-16 14:43:18
65
原创 03_urllib库的高级用法
1. 伪装自己有些网站不会同意程序直接用上面的方式进行访问,如果识别有问题,那么站点根本不会响应,所以为了完全模拟浏览器的工作1.1 设置请求头其中User-Agent代表用的哪个请求的浏览器代码如下:from urllib.request import urlopenfrom urllib.request import Requesturl = 'http://www.server.com/login'user_agent = 'Mozilla/4.0 (compatible; MSI
2022-05-16 14:40:54
86
原创 02_工具的选择
1. 常用的工具pythonpycharm浏览器chrome火狐fiddler2 fiddler的使用2.1 操作界面2.2 界面含义请求 (Request) 部分详解名称含义Headers显示客户端发送到服务器的 HTTP 请求的,header 显示为一个分级视图,包含了 Web 客户端信息、Cookie、传输状态等Textview显示 POST 请求的 body 部分为文本WebForms显示请求的 GET 参数 和 POST bo
2022-05-16 14:39:20
84
原创 01_爬虫介绍
1. 什么是爬虫?网络爬虫也叫网络蜘蛛,如果把互联网比喻成一个蜘蛛网,那么蜘蛛就是在网上爬来爬去的蜘蛛,爬虫程序通过请求url地址,根据响应的内容进行解析采集数据,比如:如果响应内容是html,分析dom结构,进行dom解析、或者正则匹配,如果响应内容是xml/json数据,就可以转数据对象,然后对数据进行解析。简单的说:就是用代码模拟人的行为,去各各网站溜达、点点按钮、查查数据。或者把看到的数据拿下来。2. 有什么作用?通过有效的爬虫手段批量采集数据,可以降低人工成本,提高有效数据量,给予运营/
2022-05-16 14:35:03
93
原创 3d元素周期表text(1)
先上代码html:<!DOCTYPE html><html><head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0"> <title>3D-元素周期表copy</title>
2022-05-10 19:50:57
346
原创 使用Pipe管道实现进程间的通信
使用Pipe管道实现进程间的通信(ps:仅有代码,小伙伴们利用百度,冲啊!!!)#codinutf-8import multiprocessingfrom time import sleepdef func1(conn1): sub_info = "Hello!" print(f"进程1--{multiprocessing.current_process().pid}发送数据:{sub_info}") sleep(1) conn1.send(sub_info)
2022-03-16 23:26:32
252
原创 HTML+css实操(二)小红心
HTML+css实操(二)一颗小红心: CSS3中常用的属性: /*倒圆角指令*/ border-radius: 100px; /* 左上右下 右上左下 */ /*border-radius:10px 60px;*/ /*border-radius:10px 20px 30px 40px;*/ /*旋转角度*/ transform: rotate(45deg); /*放大的倍数*/ /*
2021-11-27 19:30:34
304
原创 Html+css+js实操(一)表单添加与删除
网页设计实操(一)DOM案例实现:(一个表单的添加与删除)<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> <style> tr{ height: 70px; } td ,th{ width: 150px; text-align: center
2021-11-27 19:23:57
801
原创 21.1并发编程(5~7)
5、死锁(Lock与RLock()) 在多线程程序中,死锁问题很大一部分是由于线程同时获取多个锁造成的。举例: 有两个人分别做“回锅肉”和“红烧肉”,每个人都需要“锅”和“菜刀”才能做。死锁的示意图from threading import Thread, Lockfrom time import sleepdef fun1(): lock1.acquire() print('fun1 拿到菜刀') sleep(2) lock2.acquire()
2021-10-04 17:27:59
76
原创 21.0并发编程(1~4)
并发编程1、## 进程与线程 并行执行多任务只能在多核 CPU 上实现,但是,由于任务数量远远多于 CPU 的核心数量,所以,操作系统也会自动把很多任务轮流调度到每个核心上执行(对应于电脑是几核的)。 那么单核CPU是怎么执行多任务的呢? 其实,是操作系统轮流让各个任务交替执行,任务 1 执行 0.01 秒,切换到任务 2,任务2 执行 0.01 秒,再切换到任务 3,执行 0.01 秒……这样反复执行下去。表面上看,每个任务都是交替执行的,但是,由于 CPU 的执行速度实在是太快了,我们感觉就像所
2021-09-27 15:28:37
68
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人