学习记录
我永远喜欢希露菲叶特
正在学习中的菜鸟弟弟程序员
展开
-
scrapy爬取csdn搜索文章,并将文章链接等信息保存到csv文件
首先分析网页接口,在搜索框搜索关键字java后,在network中查看接口,可以找到这个接口接口中的返回值即是我们需要的数据,我们就不用去分析网页html代码了。创建项目scrapy startproject csdnSpider创建爬虫scrapy genspider search_spider "csdb.net"爬虫代码import jsonimport scrapyfrom csdnSpider.items import CsdnspiderItemimport re原创 2021-02-24 11:14:49 · 403 阅读 · 0 评论 -
gevent学习
# gevent 学习# 协程 称为微线程#进程与线程的关系很容易理解#可以把线程与协程的关系类比于进程与线程的关系'''因为python线程的性能问题,在python中使用多线程运行代码经常不能达到预期的效果。而有些时候我们的逻辑中又需要开更高的并发,或者简单的说,就是让我们的代码跑的更快,在同样时间内执行更多的有效逻辑、减少无用的等待。gevent就是一个现在很火、支持也很全面的python第三方协程库。gevent是python的一个并发框架,以微线程greenlet为核心,使用了epo原创 2021-02-17 19:13:44 · 434 阅读 · 1 评论 -
scrapy学习03--异步aiohttp练习
# 学习aiohttp# 第一步 安装#pip install aiohttp -i https://pypi.douban.com/simple#pip install cchardet -i https://pypi.douban.com/simple# 客户端import aiohttpimport asyncioasync def fetch(session,url): async with session.get(url) as response:原创 2021-02-16 21:45:58 · 514 阅读 · 0 评论 -
scrapy练习02---同时爬取数据信息和图片
参考博客博客1博客2上图是爬出来的效果修改settings文件增加下载图片的管道以及图片的存储路径修改爬虫代码增加img 字段items文件内也要增加修改管道新增一个管道类下载图片需要继承ImagesPipeline重写其方法get_media_requests 获取图片链接 请求下载file_path 重命名下载后的文件item_completed 下载完成之后的处理这里有几个坑点管道的方法内,有的方法需要加上return items 不然后续可能拿原创 2021-02-15 20:00:57 · 445 阅读 · 0 评论 -
python3学习12---scrapy学习
# 学习一下scrapy#基本概念'''Scrapy Engine(引擎):负责Spider、ItemPipeline、Downloader、Scheduler中间的通讯,信号、数据传递等。Scheduler(调度器):它负责接受引擎发送过来的Request请求,并按照一定的方式进行整理排列,入队,当引擎需要时,交还给引擎。Downloader(下载器):负责下载Scrapy Engine(引擎)发送的所有Requests请求,并将其获取到的Responses交还给Scrapy Engine(引擎原创 2021-02-14 19:38:39 · 357 阅读 · 1 评论 -
python3学习11--动态爬取图片、bilibili普通视频
#python3 爬虫 爬取网络图片# 目标网站 百度图片 因为百度图片是动态加载的'''思路:首先打开百度图片 搜索一个关键字然后打开f12network --》xhr向下滚动 可以看到出现一个acjson开头的请求查看其preview里的数据,data中放着30张图片的数据,说明每次加载30张查看header 找到Query String Parameters 可以发现百度图片的请求参数'''import requests,osuser_agent ='Mozilla/原创 2021-02-13 18:54:27 · 2090 阅读 · 2 评论 -
python3学习---连接数据库,多线程,json,爬虫入门
# python3 连接mysql数据库'''先用pip在命令行窗口安装mysql-connector驱动pip install mysql-connector --index-url https://pypi.douban.com/simple'''import mysql.connectormydb=mysql.connector.connect( #连接数据库 host='127.0.0.1', user='root', passwd='123.com',原创 2021-02-12 22:26:00 · 279 阅读 · 1 评论 -
python3学习09--模块,正则
新年快乐!!!!!!!!!!!!!!!!!!!!!# python3 常用标准库预览# 操作系统接口 osimport osprint(os.getcwd()) #当前工作目录 F:\PycharmProjects\pythonStudy\study09'''os的方法很多 但我这边是在ide里练习的 目前感觉用不上很多 制作了解'''# 文件通配符 glob#glob模块提供了一个函数用于从目录通配符搜索中生成文件列表import globprint(glob.glob('*.原创 2021-02-11 17:39:13 · 168 阅读 · 1 评论 -
python3学习---08面向对象、作用域
# python3 file文件方法#open方法'''Python open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出 OSError。注意:使用 open() 方法一定要保证关闭文件对象,即调用 close() 方法。open() 函数常用形式是接收两个参数:文件名(file)和模式(mode)。'''#上次学习了open的基本格式,这里就不多赘述#f=open(f'C:\Users\zxy\Desktop\f原创 2021-02-10 19:10:31 · 307 阅读 · 3 评论 -
python学习07-输入输出
今天坐了4个多小时的车,终于从工作城市回家过年了有点累,也就学了很简单的一些内容# 读和写文件# open(filename,mode) #参数 文件名和打开模式'''文件名就不多解释了,文件的名字模式:r 只读 (默认)rb 以二进制格式打开文件用于只读r+ 读写rb+ 以二进制格式打开文件用于读写w 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。wb 以二进制格式打开一个文件只用于写入。如果该文件已存原创 2021-02-09 00:13:19 · 138 阅读 · 1 评论 -
python3学习06 --包,模块
今天公司组织了篮球赛,打完放假了(打一半抽筋了23333)只学习了一点点 记录一下吧# python3 模块'''模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py。模块可以被别的程序引入,以使用该模块中的函数等功能。这也是使用 python 标准库的方法。'''import sysprint("python的路径为:",sys.path)#引入同包/同文件夹下的模块import supportsupport.print_func('zxy') #引入模块support原创 2021-02-07 17:52:55 · 166 阅读 · 1 评论 -
python3学习05---迭代器,函数
昨天玩了一会儿,文章忘更新了2333 补上# 迭代器与生成器'''迭代是Python最强大的功能之一,是访问集合元素的一种方式。迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。迭代器有两个基本的方法:iter() 和 next()。字符串,列表或元组对象都可用于创建迭代器:'''list1=[1,2,3,4,5,6,7]print(iter(list1)) # 得到一个迭代器对象 <list_ite原创 2021-02-07 17:49:29 · 282 阅读 · 3 评论 -
python学习04-其他一些数据类型和控制语句
# list列表 详细'''List 列表java中也有List,概念为集合python中List为列表 有点像java中的数组 但也像集合用[]创建一个list 列表是通过下标获取元素的'''list_test1=[]print(list_test1) #[]print(type(list_test1)) # <class 'list'># list_test1[0]='index1' #IndexError: list assignment index out of原创 2021-02-05 20:56:20 · 137 阅读 · 1 评论 -
python学习03-运算符、数值、字符串
# python3 运算符'''算数运算符+,-,*,/%取余,**幂 //向下取整'''a=10b=3print(a+b)print(a-b)print(a*b)print(a/b)print(a//b)print(a%b)print(a**b)'''比较运算符== , != ,>,<,>=,<=''''''赋值运算符= ,+=,-=,/=,%=,**=,//=,:=:= 海象运算符,刻在表达式内部为变量赋值''''''位运原创 2021-02-04 23:56:10 · 109 阅读 · 1 评论 -
python学习-第二天
今晚主要是python3的基础数据类型的学习。#等待用户输入# input("请输入:")#将输入的值输出# print(input("请输入"))#python执行代码是一行一行执行的,若在同行中使用多条语句,可以用;进行分割# print(888);print("999");# a=10# b=10# #多行代码租场的代码组 称为子句 (注意缩进格式)# if a==b:# print("a==b")# else:# print("a!=b")# 模原创 2021-02-03 23:51:09 · 91 阅读 · 1 评论 -
python学习01-基础语法
前言跳槽了,新offer是用python做爬虫和数据分析的,得从java转python了。记录下每天学习python的过程。基础部分先参考菜鸟教程安装python环境安装还是比较简单的,java安装得去配置环境变量之类的,我这边安装环境就直接用官网下载,然后直接安装。(这里选择的是最新版3.9)官网 下载完成后安装时记得勾选add path。安装IDE,我选择的pycharm社区版,安装起来也没什么问题。基础语法hello world每次学习新语言都是以hello world开始的!原创 2021-02-03 00:38:35 · 135 阅读 · 2 评论