-
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地址,可以提高抓取效率。 从提高爬虫成功率到爬…
-
python scrapy模拟登录的方法
1、requests模块。直接携带cookies请求页面。 找到url,发送post请求存储cookie。 2、selenium(浏览器自动处理cookie)。 找到相应的input标签,输入文本,点击登录。 3、scrapy直接带cookies。 找到url,发送post请求存储cookie。 # -*- coding: utf-8 -*- import scrapy import re class GithubLoginSpider(scrapy.Spider): name = …
-
python如何重写start_requests方法
说明 1、在scrapy中,start_url是由start_requests处理的,通过重写这种方法,start_url可以携带请求头信息。 2、cookie不能放在scrapy中的headers中,在构建请求时有专门的cookies参数,可以接收字典形式的cookie。 可能需要在settings中设置ROBOTS协议和USER_AGENT。 实例 import scrapy class Git1Spider(scrapy.Spider): name = ‘git1’ …
-
python爬虫中meta参数的使用
说明 1、meta可以在不同的解析函数中传输数据,meta参数对应的值必须是字典。 2、meta通过Request产生时传进去,通过Response对象中取出来。 3、meta字典中有一个固定的键proxy,表示代理ip。 实例 def parse(self, response): … yield scrapy.Request(detail_url, callback=self.parse_detail, meta={‘item’: item}) … de…
-
python scrapy处理翻页的方法
说明 1、根据scrapy这个框架的运行特点,翻页必须和处理数据分开,不然无法执行。 2、确定url地址,构造 url 地址的请求对象,把请求交给引擎。 构造请求 scrapy.Request(url, callback) callback:指定解析函数名称,表示该请求返回的响应使用哪一个函数进行解析。 实例 scrapy.Request(url, callback=None, method=’GET’, headers=None, body=None, cookies=None, meta=…