当前位置: 首页 > news >正文

北京php网站制作wordpress忘记密码函数

北京php网站制作,wordpress忘记密码函数,热门话题推荐,万网域名登录基础知识#xff1a; scrapy介绍 何为框架#xff0c;就相当于一个封装了很多功能的结构体#xff0c;它帮我们把主要的结构给搭建好了#xff0c;我们只需往骨架里添加内容就行。scrapy框架是一个为了爬取网站数据#xff0c;提取数据的框架#xff0c;我们熟知爬虫总…基础知识 scrapy介绍 何为框架就相当于一个封装了很多功能的结构体它帮我们把主要的结构给搭建好了我们只需往骨架里添加内容就行。scrapy框架是一个为了爬取网站数据提取数据的框架我们熟知爬虫总共有四大部分请求、响应、解析、存储scrapy框架都已经搭建好了。scrapy是基于twisted框架开发而来twisted是一个流行的事件驱动的python网络框架scrapy使用了一种非阻塞的代码实现并发的 整体架构图 各组件 数据处理流程 项目示例 环境搭建 下载依赖包 pip install wheel 下载twistedhttps://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted 安装twistedpip install Twisted-17.1.0-cp36m-win_amd64.whl   (这个文件的路劲) pip install pywin32 pip install scrapy 测试在终端输入scrapy指令没有报错表示安装成功在anaconda中可以直接装scrapy会自动把依赖的包都装好 pyopenssl要改成22.0.0版本否则调用request的时候报错anaconda会自动改一下依赖的别的包的版本 创建项目 创建项目叫spider 1、打开pycharm的terminal 2、scrapy startproject spider    创建项目 3、cd spider 4、scrapy genspider douban www.xxx.com  创建爬虫程序   5、需要有main.py里面的输出则修改settings.py里面的ROBOTSTXT_OBEY True改为False 6、scrapy crawl main   不需要额外的输出则执行scrapy crawl main --nolog    或者在settings.py里面添加LOG_LEVELERRORmain.py有错误代码会报错不添加有错误时则不会报错常用 打开spider项目里面有个spiders文件夹称为爬虫文件夹在这里放爬虫业务文件 项目代码 在douban.py里写爬虫程序 此处是爬虫业务逻辑爬到网站地址对于爬虫返回结果的解析在parse中做 根据应答的数据解析可以用xpath或者css解析找到对应的数据 import scrapy from scrapy import Selector, Request from scrapy.http import HtmlResponsefrom spider.items import MovieItemclass DoubanSpider(scrapy.Spider):name doubanallowed_domains [movie.douban.com]start_urls [https://movie.douban.com/top250]def start_requests(self):for page in range(10):yield Request(urlfhttps://movie.douban.com/top250?start{page * 25}filter)def parse(self, response: HtmlResponse, **kwargs):sel Selector(response)list_items sel.css(#content div div.article ol li)for list_item in list_items:movie_item MovieItem()movie_item[title] list_item.css(span.title::text).extract_first()movie_item[rank] list_item.css(span.rating_num::text).extract_first()movie_item[subject] list_item.css(span.inq::text).extract_first()yield movie_item# href_list sel.css(div.paginator a::attr(href))# for href in href_list:# url response.urljoin(href.extract())其中将返回的值转化为对象需要在item.py里改一下代码 # Define here the models for your scraped items # # See documentation in: # https://docs.scrapy.org/en/latest/topics/items.htmlimport scrapy#爬虫获取到到数据需要组装成item对象 class MovieItem(scrapy.Item):# define the fields for your item here like:# name scrapy.Field()title scrapy.Field()rank scrapy.Field()subject scrapy.Field()执行爬虫 执行工程scrapy crawl douban -o douban.csv (运行douban爬虫文件,并将结果生成到douban.csv里面如果被识别了是爬虫程序在setting中设置一下user agent的值 USER_AGENT Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36 # User-Agent字符串 保存数据 默认可以支持保存到csv,json 保存到excel # Define your item pipelines here # # Dont forget to add your pipeline to the ITEM_PIPELINES setting # See: https://docs.scrapy.org/en/latest/topics/item-pipeline.html# useful for handling different item types with a single interface from itemadapter import ItemAdapter import openpyxl#将爬虫返回的数据持久化先存放到excel class ExcelPipeline:# 创建excel工作簿和工作表def __init__(self):self.wb openpyxl.Workbook()# wb.create_sheet()self.ws self.wb.active #激活工作表self.ws.title Top250 #改名字self.ws.append((标题,评分,主题))def close_spider(self,spider):self.wb.save(电影数据.xlsx)# item就是数据def process_item(self, item, spider):title item.get(title,)rank item.get(rank, )subject item.get(subject, )self.ws.append((title,rank,subject))return item在setting.py中改一下配置找到这个注释去掉注释 前面是管道名称如果多个管道在这里配置多个值数字小的先执行数字大的后执行 值要和类名字一致我改了名字 ITEM_PIPELINES {spider.pipelines.ExcelPipeline: 300, }运行命令。  scrapy crawl douban  保存到数据库mysql 新增一个mysql的持久化逻辑init的时候创建连接process的时候插入close的时候提交和关闭连接 建表语句 create table tb_top_move( movie_id INT AUTO_INCREMENT PRIMARY KEY comment 编号, title varchar(50) not null comment 标题, rating decimal(3,1) not null comment 评分, subject varchar(200) not null comment 主题 ) engineinnodb commentTop电影表 # Define your item pipelines here # # Dont forget to add your pipeline to the ITEM_PIPELINES setting # See: https://docs.scrapy.org/en/latest/topics/item-pipeline.html# useful for handling different item types with a single interface from itemadapter import ItemAdapter import openpyxl import pymysql#将爬虫返回的数据持久化先存放到mysql class MysqlPipeline:# 创建excel工作簿和工作表def __init__(self):#todo 设置db信息self.conn pymysql.connect(host127.0.0.1,port,user,password,database,charsetutf8mb4)self.cursor self.conn.cursor()def close_spider(self,spider):self.conn.commit()self.conn.close()# item就是数据def process_item(self, item, spider):title item.get(title, )rank item.get(rank, 0)subject item.get(subject, )self.cursor.execute(insert into tb_top_move(title,rating,subject) values (%s,%s,%s),(title,rank,subject))return item#将爬虫返回的数据持久化先存放到excel class ExcelPipeline:# 创建excel工作簿和工作表def __init__(self):self.wb openpyxl.Workbook()# wb.create_sheet()self.ws self.wb.active #激活工作表self.ws.title Top250 #改名字self.ws.append((标题,评分,主题))def close_spider(self,spider):self.wb.save(电影数据.xlsx)# item就是数据def process_item(self, item, spider):title item.get(title,)rank item.get(rank, )subject item.get(subject, )self.ws.append((title,rank,subject))return item改下setting的配置 ITEM_PIPELINES {spider.pipelines.MysqlPipeline: 200,spider.pipelines.ExcelPipeline: 300, } 如果需要代理可以用这种方式在douban的py中修改 运行爬虫 scrapy crawl douban 多层爬虫 在爬了第一个页面跟进内容爬第二个页面比如在第一个汇总页面想要知道《霸王别姬》中的时长和介绍要点进去看到第二个页面 核心是douban.py中parse函数yield返回的是一个新的请求并通过parse_detail作为回调函数进行第二层页面的解析 代码 douban.py import scrapy from scrapy import Selector, Request from scrapy.http import HtmlResponsefrom spider.items import MovieItemclass DoubanSpider(scrapy.Spider):name doubanallowed_domains [movie.douban.com]start_urls [https://movie.douban.com/top250]def start_requests(self):for page in range(1):yield Request(urlfhttps://movie.douban.com/top250?start{page * 25}filter)def parse(self, response: HtmlResponse, **kwargs):sel Selector(response)list_items sel.css(#content div div.article ol li)for list_item in list_items:detail_url list_item.css(div.info div.hd a::attr(href)).extract_first()movie_item MovieItem()movie_item[title] list_item.css(span.title::text).extract_first()movie_item[rank] list_item.css(span.rating_num::text).extract_first()movie_item[subject] list_item.css(span.inq::text).extract_first() or # yield movie_itemyield Request(urldetail_url, callbackself.parse_detail,cb_kwargs{item:movie_item})# href_list sel.css(div.paginator a::attr(href))# for href in href_list:# url response.urljoin(href.extract())def parse_detail(self,response,**kwargs):movie_item kwargs[item]sel Selector(response)movie_item[duration]sel.css(span[propertyv:runtime]::attr(content)).extract()movie_item[intro]sel.css(span[propertyv:summary]::text).extract_first() or yield movie_item /items.py # Define here the models for your scraped items # # See documentation in: # https://docs.scrapy.org/en/latest/topics/items.htmlimport scrapy#爬虫获取到到数据需要组装成item对象 class MovieItem(scrapy.Item):# define the fields for your item here like:# name scrapy.Field()title scrapy.Field()rank scrapy.Field()subject scrapy.Field()duration scrapy.Field()intro scrapy.Field()/pipelines.py # Define your item pipelines here # # Dont forget to add your pipeline to the ITEM_PIPELINES setting # See: https://docs.scrapy.org/en/latest/topics/item-pipeline.html# useful for handling different item types with a single interface from itemadapter import ItemAdapter import openpyxl import pymysql 建表语句 create table tb_top_move( movie_id INT AUTO_INCREMENT PRIMARY KEY comment 编号, title varchar(50) not null comment 标题, rating decimal(3,1) not null comment 评分, subject varchar(200) not null comment 主题, duration int comment 时长, intro varchar(10000) comment 介绍 ) engineinnodb commentTop电影表 #将爬虫返回的数据持久化先存放到excel class MysqlPipeline:# 创建excel工作簿和工作表def __init__(self):#todo 设置db信息self.conn pymysql.connect(host127.0.0.1,port3306,userlzs_mysql,passwordlzs,databasemysql,charsetutf8mb4)self.cursor self.conn.cursor()def close_spider(self,spider):self.conn.commit()self.conn.close()# item就是数据def process_item(self, item, spider):title item.get(title, )rank item.get(rank, 0)subject item.get(subject, )duration item.get(duration, )intro item.get(intro, )self.cursor.execute(insert into tb_top_move(title,rating,subject,duration,intro) values (%s,%s,%s,%s,%s),(title,rank,subject,duration,intro))return item#将爬虫返回的数据持久化先存放到excel class ExcelPipeline:# 创建excel工作簿和工作表def __init__(self):self.wb openpyxl.Workbook()# wb.create_sheet()self.ws self.wb.active #激活工作表self.ws.title Top250 #改名字self.ws.append((标题,评分,主题))def close_spider(self,spider):self.wb.save(电影数据.xlsx)# item就是数据def process_item(self, item, spider):title item.get(title,)rank item.get(rank, )subject item.get(subject, )self.ws.append((title,rank,subject))return item运行爬虫 scrapy crawl douban 中间件 中间件分为蜘蛛中间件和下载中间件 蜘蛛中间件一般不动 如果想要在请求中加上cookie可以在中间件上的请求加上cookie信息 在middlewares.py类中加上一个方法获取cookie信息 修改middle的类 修改配置setting 参考文章 02.使用Scrapy框架-1-创建项目_哔哩哔哩_bilibili https://www.cnblogs.com/12345huangchun/p/10501673.html Scrapy框架高效爬虫_scrapy爬虫框架-CSDN博客
http://www.lakalapos1.cn/news/20793/

相关文章:

  • 吕梁市网站建设公司网站建设的技术亮点
  • 网站跳转代码 html南宁公司网站模板建站
  • 潍坊网站制作最低价格海淀地区网站建设
  • 把网站从空间删除qq群引流推广软件
  • 如何做好一个企业网站设计中国科技成就
  • 怎么建立自己的网站?wordpress文章密码插件
  • 成都网站制作长沙临沂网站建设微信
  • 摄影网站设计与实现wap网站格式
  • php学什么可以做网站唐河做网站
  • 南山专业做网站公司可以用服务器做网站
  • 网站排名优化电话wordpress 迅搜
  • 专业的网站制作设计沈阳网站制作培训
  • 上蔡网站建设asp网站有哪些
  • 网站开发与解决技巧wordpress管理员地址
  • 速贝网站友情链接怎么做阿里云 wordpress 伪静态
  • 网站上做商城可用同一域名网站运营与建设 教学大纲
  • 青海建设兵团青岛战友网站厦门网站设计推广公司
  • 网站建设推广pptpc做网站服务器
  • 专业做网站优化价格国内最新新闻内容
  • 点读软件网站建设wordpress网站重做
  • 苏州网站建设相关技术网站动画用什么做的
  • 做原型的素材网站上海网站建设加q.479185700
  • 上海营销型网站建设哪家好一个app安卓下载
  • 襄阳做网站公司手机网站 设置
  • 品牌网站推广wordpress管理员账号数据库添加
  • 网站开发培训收费网站建设全屏
  • 如何做网线水晶头接法图解百度排名优化工具
  • 毕设源码网站wordpress电子邮件
  • 网站的色彩搭配wordpress 定制主题
  • 青岛市城阳区建设局网站千库网会员