中文文档:https://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html# 1.1      安装BeautifulSoup模块和解析器 1)         安装BeautifulSoup pip install beautifulsoup4 2)         安装解析器 pip install lxml pip install html5lib 1.2      对象种类 Tag :   标签对象,如:<p clas…
在导入自定义的模块时,除了指定模块名之外,也需要指定目录,由于Python把目录称作包,因此,这类导入被称为包导入.包导入把计算机上的目录变成Python的命名空间,而目录中所包含的子目录和模块文件则对应命名空间中的属性. Python已经导入的模块保存在一个内置的sys.modules字典中,以便记录哪些模块已经记录了. 一,模块搜索路径 导入过程首先需要定位导入文件的位置,也就是,告诉Python到何处去找到要导入的文件,因此,需要设置模块的搜索路径.在大多数情况下,Python会自动到默认…
模块 Python中,如果要引用一些内置的函数,该怎么处理呢?在Python中有一个概念叫做模块(module) 简单地说,模块就是一个保存了Python代码的文件. 模块分类: 1)内置模块 2)自定义模块 3)第三方模块 模块存在方式: ".py" "文件夹" paramiko 模块(这个模块需要安装,具体安装方法很简单,这里不做说明) 用途:linux 主机远程 用到这个模块 模块的导入 在Python中用关键字import来引入某个模块,比如要引用sys这个…
前言 昨晚学的有点晚 睡得很晚了,今天早上10点多起来吃完饭看了会电视剧就瞌睡了一直睡到12.50多起来洗漱给我弟去开家长会 开到快4点多才回家.耽搁了不少学习时间,现在就把今天所学的内容总结下吧. BeautifulSoup模块介绍 Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup会帮你节省数小时甚至数天的工作时间. 使用方法流程 1.解析内容from bs4…
一.基础知识 http://blog.csdn.net/pi9nc/article/details/9734437 二.模拟登录 因为上学期参加了一个大数据比赛,需要抓取数据,所以就想着写个爬虫抓取新浪微博的数据. 当然抓取数据不是漫无目的的,我需要的是根据关键词来抓取相关微博. 正好微博有一个高级搜索功能,不过要获取更多的微博,需要登录,所以这时就需要模拟登录了. 以下代码是通过rsa加密算法模块来模拟的.需要注意的是,新浪有反爬虫的,所以我们登录的时候要伪装成浏览器. 代码不是自己写的,所以…
目录: 1. 异常 2. 地址族 3. 套接字类型 4. 模块方法 5. Socket对象与实例方法 socket模块提供了Python中的低层网络连接接口,用于操作套接字操作. 异常 socket模块共定义了4种异常: socket.error 套接字相关的错误将会抛出该异常,伴随的值是解释错误信息的字符串或 (errno, string) 形式的系统调用异常返回.socket.error 是 IOError 的一个子类. socket.herror 地址相关的错误.C API 调用等可能会抛…
主要类型 该模块有四个比较主要的类,其中常用的是 TCPServer 和 UDPServer. 1. TCPServer 2. UDPServer 3. UnixStreamServer,类似于TCPServer提供面向数据流的套接字连接,但是旨在UNIX平台上可用: 4. UnixDatagramServer,类似于UDPServer提供面向数据报的套接字连接,但是旨在UNIX平台上可用: 这四个类型同步地处理请求,也就是说一个请求没有完成之前是不会处理下一个请求的,这种模式当然不适合生产环境…
上学期参加了一个大数据比赛,需要抓取大量数据,于是我从新浪微博下手,本来准备使用新浪的API的,无奈新浪并没有开放关键字搜索的API,所以只能用爬虫来获取了.幸运的是,新浪提供了一个高级搜索功能,为我们爬取数据提供了一个很好的切入点. 在查阅了一些资料,参考了一些爬虫的例子后,得到大体思路:构造URL,爬取网页,然后解析网页 具体往下看~ 登陆新浪微博,进入高级搜索,如图输入,之后发送请求会发现地址栏变为如下:    http://s.weibo.com/weibo/%25E4%25B8%25A…
1.用大写字母 “L”表示长整数 尽管 Python 也支持用小写字母 L 标记的长整型,但是我们郑重推荐您仅使用大写的 “L”, 这样能有效避免数字1 和小写L 的混淆.Python 在显示长整数类型数值的时候总是用大写“L ”, 目前整型和长整型正在逐渐缓慢的统一,您只有在对长整数调用repr()函数时才有机会看到 “L”,如果对长整数对象调用str()函数就看不到 L .举例如下: >>> aLong = 999999999l >>> aLong 99999999…
1.用del删除对对象的引用 >>> a = 123 >>> a 123 >>> del a >>> a Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError : name 'a' is not defined 2.整型 (1)布尔型    该类型取值范围只要两个值:布尔值True 和…
第12章 模块 1.基本概念 模块的文件名就是模块名字.py 每个模块都定义了自己唯一的名称空间 模块的搜索路径:会被保存在 sys 模块的 sys.path 变量里 >>>sys.path >>>sys.path.append( …… )  #修改python的搜索路径 >>>sys.path.insert( ... ) 2.命名空间 python在执行期间有两个或三个活动的名称空间.分别是:局部名称空间, 全局名称空间和内建名称空间, 但局部名称空…
多线程-threading python的thread模块是比较底层的模块,python的threading模块是对thread做了一些包装的,可以更加方便的被使用 1. 使用threading模块 单线程执行 #coding=utf-8 import time def saySorry(): print("亲爱的,我错了,我能吃饭了吗?") time.sleep(1) if __name__ == "__main__": for i in range(5): sa…
1.长整型表示数的范围比整型更大.在python中,整型.长整型趋于统一,普通用户不用特别关注两者区别,仅当需引用C语言时需要特别注意. 2.操作符 (a) def product(x,y): return x * y (b) >>> print product(23,24) 552 3. def result(x): if 90 <= x <= 100: return "A" elif 80 <= x <= 89: return "…
一个简单的爬虫 #网页状态码 #200 正常 #404 网页找不到 #502 504 import requests from multiprocessing import Pool def get(url): response = requests.get(url) if response.status_code == 200: return url, response.content.decode('utf-8') def call_back(args): url,content = arg…
1.域名系统定义 DNS计算机域名系统由域名服务器和域名解析器组成.通常输入的是网址就是一个域名. 2.域名查询 查询方式包括: 1)正向查询:由域名查找对应的IP(如:www.baidu.com—>119.75.218.77 ) 2)反向查询:由IP查找域名(如:119.75.218.77 –> www.baidu.com) 查询方式包括: 1)递归查询:当DNS服务器接收到客户端的查询请求时,会做出相应的反应(本地DNS服务器查询.其他服务器查询)(主要发生在客户端与DNS服务器端) 2)…
udp广播 #coding=utf-8 import socket, sys dest = ('<broadcast>', 7788) # 创建udp套接字 s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # 对这个需要发送广播数据的套接字进行修改设置,否则不能发送广播数据 s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST,1) # 以广播的形式发送数据到本网络的所有电脑中 s.se…
我从网上找到了其他园友的文章,很不错,留着自己学习学习. Python Web编程(一)Python Web编程(二)Python Web编程(三)Python Web编程(四)Python Web编程(五)Python Web编程(六)Python Web编程(七) Python Web编程(八)  出处:http://www.cnblogs.com/game-over/category/105911.html =========================================…
孤荷凌寒自学python第七十五天开始写Python的第一个爬虫5 (完整学习过程屏幕记录视频地址在文末) 今天在上一天的基础上继续完成对我的第一个代码程序的书写. 直接上代码.详细过程见文末屏幕录像. ``` import requests from bs4 import BeautifulSoup import re import datetime import pymongo import _mty import _mf import _mbs4 import _mmongo import…
模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才能完成(函数又可以在不同的.py文件中),n个 .py 文件组成的代码集合就称为模块. 如:os 是系统相关的模块:file是文件操作相关的模块 模块分为三种: 自定义模块 内置模块 开源模块 自定义模块 1.定义模块 情景一: 情景二: 情景三: 2.导入模块 Python之所以应用越来越广泛,在…
Python第五章__模块介绍,常用内置模块 欢迎加入Linux_Python学习群  群号:478616847 目录: 模块与导入介绍 包的介绍 time &datetime模块 random os sys shutil json & pickle xml处理 configparser hashlib subprocess logging模块 re正则表达式 一.模块与包介绍 模块是某个功能代码的集合,模块是一种组织形式,它将彼此有关系的python代码组织到一个个文件中,模块可以包含可…
Python第十五天  datetime模块 time模块   thread模块  threading模块  Queue队列模块  multiprocessing模块  paramiko模块  fabric模块 目录 Pycharm使用技巧(转载) Python第一天  安装  shell  文件 Python第二天  变量  运算符与表达式  input()与raw_input()区别  字符编码  python转义符  字符串格式化 Python第三天 序列  5种数据类型  数值  字符串…
Python第五章__模块介绍,常用内置模块 欢迎加入Linux_Python学习群  群号:478616847 目录: 模块与导入介绍 包的介绍 time &datetime模块 random os sys shutil json & pickle xml处理 configparser hashlib subprocess logging模块 re正则表达式 一.模块与包介绍 模块是某个功能代码的集合,模块是一种组织形式,它将彼此有关系的python代码组织到一个个文件中,模块可以包含可…
 孤荷凌寒自学python第三十五天python的文件操作之针对文件操作的os模块的相关内容 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 一.打开文件后,要务必记得关闭,所以一般的写法应当放在异常捕捉环境中. try: 此处放打开文件的语句块 f= open(文件,‘打开模式’,encoding=’文本编码’) 执行打开文件后的操作语句块 except ……: …… else: 这儿可以继续放其它要执行的正常语句块 finally: 这儿必须有关闭文件的语句.f.close() 但我…
内容目录 双层装饰器 字符串格式化 生成器和迭代器 递归 模块 双层装饰器 需求场景介绍: 现有用户登录系统,普通用户能查看自己相关信息的权限,管理员用户能查看所有用户的权限,可以做两个装饰器来实现需求,一个来限制登录,另一个为双层判断是否为管理员账号,可以这样来实现 USER_INFO = {} def check_login(func): def inner(*args, **kwargs): if USER_INFO.get('is_login', None): ret = func(*a…
今日概要: 1.内置模块 2.协程函数 3.递归 4.面向过程编程与函数编程 5.模块 6.包 7.re正则 一.内置模块 1.匿名函数lambda 定义:匿名函数通常是创建了可以被调用的函数,它返回了函数,而并没有将这个函数命名 #不使用匿名函数 def func(x,y): return x+y func(1,2) #使用匿名函数 f=lambda x,y:x+y print(f(1,2)) 2.max,zip(拉链函数),sorted用法 age={ 'dragon':18, 'panda…
在Python网络编程系列,我们主要学习以下内容: 1. socket模块与基本套接字编程 2. socket模块的其他网络编程功能 3. SocketServer模块与简单并发服务器 4. 异步编程select 和 epoll机制 5. 常见的Python异步编程框架 6. 协程在Python网络编程中的使用 本文介绍Python下的基本套接字编程,主要基于 socket 模块,包括简单的TCP/UDP套接字编程.通过调用 socket 模块的 socket() 函数创建一个新的套接字对象,在…
本文转载自Python并发编程之线程池/进程池--concurrent.futures模块 一.关于concurrent.futures模块 Python标准库为我们提供了threading和multiprocessing模块编写相应的多线程/多进程代码,但是当项目达到一定的规模,频繁创建/销毁进程或者线程是非常消耗资源的,这个时候我们就要编写自己的线程池/进程池,以空间换时间.但从Python3.2开始,标准库为我们提供了concurrent.futures模块,它提供了ThreadPoolE…
一.while循环与使用场景 CONDITION=1 while CONDITION <=5 : CONDITION +=1 print("hello") else: print("EOF") hello hello hello hello hello EOF 二.for与for-else循环 # 主要是用来遍历/循环 序列或者集合.字典 a=[["a","b","c","d"],…
摘录python核心编程 本例中演示生产者-消费者模型:商品或服务的生产者生产商品,然后将其放到类似队列的数据结构中.生产商品中的时间是不确定的,同样消费者消费商品的时间也是不确定的. 使用queue模块(python2.x版本中,叫Queue)来提供线程间通信的机制,从而让线程之间可以分享数据.具体而言,就是创建一个队列,让生产者(线程)在其中放入新的商品,而消费者(线程)消费这些商品. 下表是queue模块的部分属性: 属性 描述 queue模块的类 Queue(maxsize=0) 创建一…
摘录python核心编程 socketserver(python3.x版本重新命名)是标准库中的网络编程的高级模块.通过将创建网络客户端和服务器所必须的代码封装起来,简化了模板,为你提供了各种各样的类. 除了隐藏了实现细节之外,它督促我们使用类(面向对象的思维)来编写应用程序,并且,这些应用程序是时间驱动的(即,只有在系统中的事件发生的时候,程序才会工作). 事件,包括消息的发送和接收.在原始的服务器循环中,我们阻塞等待请求,当接收到请求时就对其提供服务,然后继续等待.而使用面向对象的socke…