- 博客(24)
- 收藏
- 关注
原创 使用scrapy框架中的Imagepipelines爬取图片并保存
Imagepipelines下载图片1、创建项目# -*- coding: utf-8 -*-import scrapyclass ZolSpider(scrapy.Spider): name = 'zol' allowed_domains = ['zol.com.cn'] start_urls = ['http://desk.zol.com.cn/bizhi/9220_112846_2.html'] def parse(self, response):
2020-06-25 22:54:50
344
原创 crawlspider解析,并使用crawlspider爬取八一中文网小说
crawlspider类的写法1. CrawlSpiders原理图```sequenceDiagramstart_urls ->>调度器:初始化url 调度器->>下载器: request下载器->>rules: responserules->>数据提取: responserules->>调度器: 新的url```通过下面的命令可以快速创建 CrawlSpider模板 的代码scrapy ge.
2020-06-25 18:51:06
500
1
原创 scrapy框架爬取八一中文网小说
scrapy框架爬取八一中文网小说1、创建项目,定义文件名1、创建项目,定义文件名# -*- coding: utf-8 -*-import scrapyclass ZwwSpider(scrapy.Spider): name = 'zww' allowed_domains = ['81zw.com'] start_urls = ['https://www.81zw.com/book/14662/3762757.html'] def parse(.
2020-06-25 16:46:37
786
原创 scrapy自定义url,判断文件类别并分类保存
1、url地址多个字段的书写,通过查看spider类,详细写法1、url地址多个字段的书写,通过查看spider类,详细写法class MaoyanSpider(scrapy.Spider): name = 'maoyan' allowed_domains = ['maoyan.com'] #start_urls = ['https://maoyan.com/films?showType=3'] def start_requests(self): .
2020-06-25 16:43:51
365
原创 scrapy框架setting的问题总结
scrapy框架setting的问题总结ROBOTSTXT_OBEY默认: True是否遵循robots协议USER_AGENT默认: "Scrapy/VERSION (+http://scrapy.org)"爬取的默认User-Agent,除非被覆盖ITEM_PIPELINES默认: {}保存项目中启用的pipeline及其顺序的字典。该字典默认为空,值(value)任意。 不过值(value)习惯设定在0-1000范围内LOG_ENABLED默认: True是否启
2020-06-25 16:34:23
388
原创 对item pipelines作用的介绍和补充
1. Item Pipeline 介绍当Item 在Spider中被收集之后,就会被传递到Item Pipeline中进行处理每个item pipeline组件是实现了简单的方法的python类,负责接收到item并通过它执行一些行为,同时也决定此Item是否继续通过pipeline,或者被丢弃而不再进行处理item pipeline的主要作用:清理html数据 验证爬取的数据 去重并丢弃 讲爬取的结果保存到数据库中或文件中2. 编写自己的item pipeline2..
2020-06-25 16:29:42
710
原创 scrapy框架使用piplines、items进行提取项目并保存数据
1 .Scrapy提取项目从网页中提取数据,Scrapy 使用基于 XPath 和 CSS 表达式的技术叫做选择器。选择器有四个基本的方法,如下所示: S.N. 方法 & 描述 extract() 它返回一个unicode字符串以及所选数据 extract_first() 它返回第一个unicode字符串以及所选数据 re() 它返回U
2020-06-25 01:28:32
579
原创 scrapy框架的创建、运行
scrapy框架的创建、运行1 基本使用1.1 创建项目创建项目命令scrapy startproject myfrist(your_project_name)创建爬虫scrapy genspider 爬虫名 爬虫的地址运行爬虫scrapy crawl 爬虫名文件说明: 名称 作用 scrapy.cfg 项目的配置信息,主要为Scrapy命令行工具提供一个基础的配置信息。(真...
2020-06-25 01:10:08
363
原创 Scrapy 框架的初识和介绍
1. Scrapy 框架介绍 Scrapy是Python开发的一个快速,高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy = Scrach+Python Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试、信息处理和历史档案等大量应用范围内抽取结构化数据的应用程序框架,广泛用于工业 Scrapy 使用Twisted 这个异步网络库来处理网络通讯,架构清晰,并且包含了各种中间件接口,可以灵活的完成各种需求。Scrapy是由Twi...
2020-06-24 14:19:04
123
原创 selenium的使用方法
selenium的使用方法1、selenium开启与关闭from selenium import webdriverimport time#驱动绝对路径# driver_path=r'E:\chromedriver\chromedriver.exe'#创建驱动对象# driver=webdriver.Chrome(executable_path=driver_path)#也可以不加驱动路径driver=webdriver.Chrome()driver.get('http:..
2020-06-24 13:02:46
348
原创 使用selenium自动化爬取虎牙直播数据
selenium自动化爬取虎牙直播数据from selenium import webdriverimport timedriver=webdriver.Chrome()url='https://www.huya.com/g/wzry'driver.get(url)n=1while True: print('第---------------'+str(n)+'------------------页') time.sleep(10) n+=1 nicks
2020-06-24 00:47:16
662
3
原创 使用selenium滚动条爬取京东数据
Selenium 处理滚动条selenium并不是万能的,有时候页面上操作无法实现的,这时候就需要借助JS来完成了当页面上的元素超过一屏后,想操作屏幕下方的元素,是不能直接定位到,会报元素不可见的。这时候需要借助滚动条来拖动屏幕,使被操作的元素显示在当前的屏幕上。滚动条是无法直接用定位工具来定位的。selenium里面也没有直接的方法去控制滚动条,这时候只能借助J了,还好selenium提供了一个操作js的方法:execute_script(),可以直接执行js的脚本一. 控制滚动条高度.
2020-06-24 00:42:58
536
1
原创 使用正则爬取糗事百科段子,并保存为文本
使用正则爬取糗事百科段子,并保存为文本import requestsimport refrom fake_useragent import UserAgenturl='https://www.qiushibaike.com/text/page/1/'headers={ 'User-Agent':UserAgent().random}response=requests.get(url,headers=headers)info=response.text#使用正则提取i.
2020-06-23 21:52:40
276
原创 正则表达式语法的使用
1. 提取数据在前面我们已经搞定了怎样获取页面的内容,不过还差一步,这么多杂乱的代码夹杂文字我们怎样把它提取出来整理呢?下面就开始介绍一个十分强大的工具,正则表达式!正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则表达式是用来匹配字符串非常强大的工具,在其他编程语言中同样有正则表达式的概念,Python同样不例外,利用了正则表达式,我们想要从返回的页面内容提取出我们想要的内
2020-06-23 21:48:57
92
原创 request是库get(params参数)、post(data参数传参)、proxies代理使用,session保存cookie的使用,ssl中verify=False使用证书的使用,响应文本格式
1、request是库get(params参数)、post(data参数传参)、proxies代理使用,session保存cookie的使用,ssl中verify=False使用证书的使用,响应文本格式1. 介绍requests请求库2. 安装利用 pip 安装pip install requests3. 基本请求req = requests.get("http://www.baidu.com")req = requests.post("http://www.baidu.com")
2020-06-23 20:49:36
1126
原创 爬取斗图啦表情包笔记2
爬取斗图啦表情包笔记2使用生产者和消费者模式进行多线程和队列结合爬取爬取斗图啦表情包笔记2使用生产者和消费者模式进行多线程和队列结合爬取重点知识:1、使用queue队列put(),get()2、使用threading线程生产与消费模式import requestsfrom lxml import etreefrom urllib import requestimport osimport refrom queue import Queueimport thread.
2020-06-19 22:55:22
170
原创 爬取斗图啦表情包笔记1
爬取斗图啦表情包笔记1爬取斗图啦表情包笔记1重点知识:1、使用xpath通过循环遍历获取get属性值 e.xpath.get( " " )2、使用os.path.splittext(url)[ ] 下标获取url的后缀名3、使用re.sub()替换字符4、使用request 中的 request.urlretrieve( ) 下载保存文件到本地5、使用format格式化字符串import requestsfrom lxml import etreefrom urlli...
2020-06-19 22:52:53
173
原创 queue队列lock、condition加锁,解锁,阻塞机制,生产者与消费者关系
queue队列lock、condition加锁,解锁,阻塞机制,生产者与消费者关系queue队列lock、condition加锁,解锁,阻塞机制,生产者与消费者关系1、队列的属性from queue import Queue""" 初始化Queue(maxsize):创建一个先进先出的队列。 qsize():返回队列的大小。 empty():判断队列是否为空。 full():判断队列是否满了。 get():从队列中取最后一个数据。 p..
2020-06-19 22:50:18
1178
原创 threading线程的使用
threading线程的使用threading线程的使用1、多线程的使用函数封装import timeimport threadingdef coding(): for i in range(3): print('正在打印%s'% threading.current_thread())#查看当前线程信息 time.sleep(1)def drawing(): for i in range(3): print('正在画.
2020-06-19 22:48:33
124
原创 CSV读写操作 案例
1、CSV读写操作 案例1import csvdef read_csv_demo1(): with open('股票数据.csv','r') as fp: #reader 是一个迭代器对象,可以遍历 reader=csv.reader(fp) #next 从下标为1的位置开始读取遍历 next(reader) for x in reader: #通过下标的方式读取所需列...
2020-06-19 14:12:20
389
原创 json字符串格式读写操作
1、json支持的类型有字典和列表,整形json必须是双引号,本身是一个字符串2、dumps是加载成字符串格式,dumps是保存字符串格式,读写记住编码与转码import json books = [ { 'title': '钢铁是怎样练成的', 'price': 9.8 }, { 'title': '红楼梦', 'price': 9.9 } ] json_str = json.dumps(books,ensure_ascii=False) with open('bo.
2020-06-19 13:08:25
607
原创 爬取电影天堂笔记1
重点知识1:map函数的使用描述map()会根据提供的函数对指定序列做映射。第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。语法map() 函数语法:map(function, iterable, ...)参数function -- 函数 iterable -- 一个或多个序列返回值Python 2.x 返回列表。Python 3.x 返回迭代器。前面要加list实例.
2020-06-19 00:55:52
364
原创 爬取搜狗微信文章笔记2
import requestsfrom urllib.parse import urlencodefrom requests.exceptions import ConnectionErrorfrom lxml import etreefrom lxml.etree import XMLSyntaxErrorfrom pyquery import PyQuery as pqimport pymongoheaders={ 'SUID':'E33ACAB75B68860A5B6E...
2020-06-18 01:02:47
297
原创 爬取搜狗微信文章笔记1
爬取搜狗微信文章笔记1错误1print('https://weixin.sogou.com'+index)TypeError: can only concatenate str (not “list”) to str类型错误:只能连接str(不是“列表”)到strprint((’’.join(‘https://weixin.sogou.com’+str(i))))print((([‘https://weixin.sogou.com’+str(i)])))错误2"bytes, not %s"
2020-06-17 11:11:17
619
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人