自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 python 全局变量、局部变量、自由变量的使用

自由变量:是一个术语,指未在局部作用域中绑定的变量,一般用来引用局部变量的值;可以使用“nonlocal”关键字定义。(注:通常只有在定义高阶函数函数时才会使用自由变量)局部变量:一般出现在“def”定义的函数中,在整个函数块中有效;在函数中进行赋值操作时会自动定义。全局变量:在整个 py 文件中有效;在函数中修改全局变量的值,全局变量的值在整个py文件中都会发生变化;在函数中修改自由变量的值,自由变量所引用的局部变量的值也会发生变化。在函数中修改局部变量的值,局部变量的值仅在当前函数块中发生变化;

2024-05-20 16:33:29 417 1

原创 python拆包——获取列表/元组/字典元素、快速交换变量值

使用拆包提取元素,不需要我们自己动手通过索引从序列中来提取元素,可以减少出错的可能,同时也方便使用。拆包也可以用来交换变量值,不需要中间变量。

2024-05-17 10:00:22 440

原创 python列表替代——元组、双端队列、数组

在python各种数据类型中,list列表类型简单、灵活、实用,但是在针对某些具体的需求时,出于性能等的考虑,可以使用其他数据类型。列表元素不可变时,可以使用元组类型;在处理大量数值时,可以使用数组类型;如果经常需要在列表两端添加或删除元素,可以使用双端队列类型。

2024-05-15 11:41:21 308

原创 python使用列表推导式(列表解析)及生成器表达式构建列表/序列

我们平时要构建列表或其他序列,除了使用for循环外,还可以使用列表推导式创建列表,或使用生成器表达式创建其他序列。相对于使用for循环,后者的代码更加简洁易于理解,同时运行速度也更快。

2024-05-14 19:05:50 438 3

原创 markdown语法——引用链接、脚注、内嵌HTML标签

可以将链接的第二部分放在Markdown文档中的任何位置。有些人将它们放在出现的段落之后,有些人则将它们放在文档的末尾(例如尾注或脚注)。参考样式链接分为两部分:与文本保持内联的部分以及存储在文件中其他位置的部分,以使文本易于阅读。引用样式链接是一种特殊的链接,它使 URL 在 Markdown 中更易于显示和阅读。脚注的注释部分放在md文档哪里都可以,但渲染之后会统一显示在文档末尾。

2024-05-13 18:38:47 592 1

原创 正则表达式

正则表达式,英文Regular expressions,也叫REs、regexs或regex patterns。

2024-05-13 17:40:48 528 1

原创 python爬虫自用的网站通用类

【代码】python爬虫自用的网站通用类。

2024-05-11 14:04:18 572 1

原创 python爬虫使用协程——asyncio&aiohttp常用

coroutine = f_coroutine() # 返回coroutine协程对象。

2024-05-10 18:46:32 400 1

原创 python爬虫——selenium自动化测试工具

service = Service(executable_path='') # 自定义webdriver位置。

2024-05-09 12:33:54 1098 1

原创 python爬虫网页解析——beautifulsoup4常用函数

bs.html.body.h1 == bs.html.h1 == bs.body.h1 == bs.h1 # 直接调用标签。bs.find_all(string='str | Pattern') # 根据标签包含的文本查找所有符合条件的标签。bs.find(string='str | Pattern') # 根据标签包含的文本查找第一个符合条件的标签。bs.find_all(name='') # 根据标签名查找所有符合条件的标签。

2024-05-08 23:27:39 630 1

原创 python爬虫——XPath解析

node[contains(@attr, "attr_value")]:选取attr属性值包含attr_value的node节点。/node[position()<'position, int']:选取匹配的位置小于position的node节点。/node[@attr="attr_value"]:选取attr属性值为attr_value的node节点。//* == /descendant::* :选取所有子孙节点。/* == /child::* :选取所有子结点。

2024-05-07 11:26:02 336

原创 python爬虫库——requests常用函数

requests.get(url='', timeout='float | (float, float)') # 响应超时时间,‘tuple’类型分别指定了连接和读取的timeout。requests.get(url='', auth=('username, str', 'password, str')) # 基本身份认证。requests.request(method='', url='') # 以某种method请求。response = requests.get(url='') # GET请求。

2024-05-04 16:52:01 922

原创 python爬虫库——urllib常用函数

urllib.parse.urljoin(base='', url='') # 将‘base_url’解析为四部分:<scheme>://<netloc>/<path>#<fragment>,使用‘scheme’、‘netloc’、‘path’三部分内容,对新URL缺失部分进行补充。urllib.parse.urlunparse(components=('scheme', 'netloc', 'path', 'params', 'query', 'fragment')) # 使用六部分信息构造URL。

2024-05-03 17:09:16 403

原创 python爬虫基础知识

在得到服务器返回的数据response后,可以使用beautifulsoup库来寻找想要的数据(beautifulsoup库简洁明了,使用方便,推荐入门学习使用)(最好学习一下正则表达式和re库,来进行所需信息的匹配查找);对于一些使用js渲染且不使用ajax的网站,可以使用自动化测试工具(如webdriver)调用浏览器,从而绕过js渲染,实现“所见即所爬”(js逆向难度一般都比较高,不是太多的数据,能直接绕过就不要花费太多时间精力了吧)。第三步,浏览器解析返回的数据,以一定的格式呈现数据。

2024-05-02 17:25:40 910 4

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除