-
python函数嵌套调用的实现
说明 1、在一个函数中又调用了另一个函数,调用函数test2,它又调用函数test1。 2、调用test1函数时,首先要完成函数test1中的所有任务。 返回调用test2中函数test1的位置,然后继续后续代码的执行。 实例 def test1(): print(“*” * 50) print(“test1~~~”) print(“*” * 50) def test2(): print(“-” * 50) print(“test2~~~”)…
-
python函数的参数是什么
说明 1、函数参数,增加函数的通用性,针对相同的数据处理逻辑,可以适应更多的数据。 2、将参数作为变量,在函数内部进行所需的数据处理。 调用函数时,根据函数定义的参数顺序,通过参数传输想要在函数内部处理的数据。 实例 def sum_2_num(num1, num2): result = num1 + num2 print(“%d + %d = %d” % (num1, num2, result)) sum_2_num(50, 20) 每日分享到群里,或者推荐给…
-
python字典的应用场景
应用场景 1、使用多个键值来存储描述一个物体的相关信息,描述更复杂的数据信息。 2、在一个列表中放置多个字典,然后进行遍历,在循环体中对每个字典进行相同的处理。 实例 card_list = [{“name”: “张三”, “qq”: “12345”, “phone”: “110”}, {“name”: “李四”, “qq”: “54321”, “phone”…
-
python爬虫如何减少ip的限制
1、python有很多web框架,拿一个来写api供爬虫调用。这有做有很多好处,比如:当爬虫发现代理,主动用apidelete代理IP,爬虫发现代理池IP不够时主动去refresh代理池。这比检验程序更可靠。 2、在代理服务提供商认可的调用API频率下,尽可能多的获取IP,然后写一个检验程序,不断的用这些代理浏览一个稳定的网站,看能不能正常使用。这个过程可以采用多线程或异步的,因为检验代理是一个缓慢的过程。 3、在爬虫使用代理IP连续使用的过程中,第一步是保证新的IP不断进入IP池。为了避免浪费…
-
python字典如何遍历数据
说明 1、for循环遍历:使用for循环直接遍历字典,此时得到字典的key值。 2、keys():用于获取字典的key值。获得的类型是dict_keys,然后使用list()进行强制转换,获得key值,或者使用for循环遍历。 3、values():用于获取字典的values值,类型为dict_values,然后使用==list()==强制转换,获取values值,也可以使用for循环遍历。 4、items():用于获取字典中的所有键值对。获得的类型是dict_items,内容是由key值和va…
-
python字典的元素访问
说明 1、字典中没有下标的概念,使用key值访问字典中对应的value值。当访问的key值不存在时,代码会报错。 2、get(‘key’):直接将key值传入函数,当查询到相应的value值时,返回相应的值,当key值不存在时,返回None,代码不会出错。 3、get(key,数据):当查询相应的value值时,返回相应的值,当没有key值时,返回自定义的数据值。 实例 # 定义一个字典 dic = {‘Name’: ‘张三’, ‘Age’: 20} # 使用 key 值访问元素 print…
-
python selenium渲染如何下载中间件
说明 1、过滤需要selenium渲染的request。Downloader模块无法应对,需要使用Selenium来处理ajax延迟加载。 2、返回HtmlResponse,请求不会达到Downloader,而是直接通过引擎交给爬虫。 实例 from sklearn.pipeline import Pipeline from sklearn.svm import SVC from sklearn.decomposition import PCA estimators = [(‘reduce_di…
-
python pipeline的使用注意
说明 1、在使用之前需要在settings中打开。 2、pipeline在settings中键表示位置(即pipeline在项目中的位置可以自定义),值表示离引擎的距离,越近数据越先通过:权重值小的优先执行。 3、当pipeline较多时,process_item的方法必须是returnitem,否则后一个pipeline获得的数据就是None值。 pipeline中必须有process_item方法,否则item无法接收和处理。 实例 from sklearn.pipeline import …
-
python scrapy.Request发送请求的方式
说明 1、使用scrapy.Request()指定method,body参数发送post请求。 2、使用scrapy.FormRequest()发送post请求,也可以发送表格和ajax请求。 实例 import scrapy class Git2Spider(scrapy.Spider): name = ‘git2’ allowed_domains = [‘github.com’] start_urls = [‘http://github.com/login’]…
-
爬虫中常见的采集数据方法
网络数据采集过程本身非常复杂。除了爬虫程序复杂之外,被抓取目标网站设置的反爬虫机制的解决也是一个大问题。尤其是遇到一些大型网站,需要更多的时间和精力。 1、高效的代理IP。代理IP相当于分身。被反爬虫机制封杀IP,可以用代理IP换IP继续抓取。但是需要注意的是,使用高效的代理IP后,不能忽视反爬虫。合理安排爬虫程序也可以节省代理IP资源,否则需要更多的成本购买代理,也会影响效率。 2、分布式爬虫。爬虫程序可以分为多个机器,每个机器的爬虫都有不同的IP地址,可以提高抓取效率。 从提高爬虫成功率到爬…