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

小程序app分销网站建设wordpress 模板修改

小程序app分销网站建设,wordpress 模板修改,360收录入口,免费的网站制作平台#x1f49b;前情提要#x1f49b; 本文是传知代码平台中的相关前沿知识与技术的分享~ 接下来我们即将进入一个全新的空间#xff0c;对技术有一个全新的视角~ 本文所涉及所有资源均在传知代码平台可获取 以下的内容一定会让你对AI 赋能时代有一个颠覆性的认识哦#x…前情提要 本文是传知代码平台中的相关前沿知识与技术的分享~ 接下来我们即将进入一个全新的空间对技术有一个全新的视角~ 本文所涉及所有资源均在传知代码平台可获取 以下的内容一定会让你对AI 赋能时代有一个颠覆性的认识哦 以下内容干货满满跟上步伐吧~ 导航小助手 本章重点一. 概述二. 演示效果三.核心逻辑总结 本章重点 利用scrapy框架练习爬虫 一. 概述 运用Python语言编程知识及实现网络数据采集的各种Python第三方库、Scrapy框架等实现技术爬取网页信息要求爬取的网页信息至少包括两种类型标题列表页该页要包括分页功能和详情页。 二. 演示效果 整体框架 文件导出 数据库导出 三.核心逻辑 编写对应蜘蛛程序 def start_requests(self):# 爬列表页 只爬1页for page in range(1, 2):yield Request(urlhttps://jobs.51job.com/beijing/p{}.format(page), callbackself.parse)def parse(self, response: HtmlResponse, **kwargs):# time.sleep(3)# 查看网页内容# print(response.text)sel Selector(response)# 浏览器F12 选中目标鼠标右击copy selector# 得到原始css选择器 body div.maincenter div.mcon div.left div.detlist.gbox div:nth-child(7)title_text sel.css(title::text).extract_first()# title_text sel.xpath(//title/text()).extract_first()# 测试一下标题能不能获取到如果不能几乎可以肯定有问题print(title_text:, title_text)list_items sel.css(div.detlist.gbox div)for list_item in list_items:job_item JobItem()job_id list_item.css(input::attr(value)).extract_first()title list_item.css(p.info span.title a::text).extract_first()location list_item.css(p.info span.location.name::text).extract_first()salary list_item.css(p.info span.location:not(.name)::text).extract_first()# 得到的是 学历要求本科 , 需要处理一下得到 本科degree list_item.css(p.order::text).extract_first().split()[1].strip()# 详情页面detail_url list_item.css(p.info span.title a::attr(href)).extract_first()print(test:, job_id, title, location, salary, degree, detail_url)job_item[job_id] job_idjob_item[title] titlejob_item[location] locationjob_item[salary] salaryjob_item[degree] degreeyield Request(urldetail_url,callbackparse_detail,cb_kwargs{item: job_item})def parse_detail(response: HtmlResponse, **kwargs):job_item kwargs[item]sel Selector(response)# 原始css选择器 div.tCompany_main div.tBorderTop_box div.tmsg.inboxcompany_detail sel.css(div.tmsg.inbox::text).extract_first()print(company_detail:, company_detail)job_item[company_detail] company_detailyield job_item构造Items class JobItem(scrapy.Item):job_id scrapy.Field()title scrapy.Field()location scrapy.Field()salary scrapy.Field()degree scrapy.Field()company_detail scrapy.Field()编写文件管道Excel class ExcelPipeline:def __init__(self):self.wb openpyxl.Workbook()self.ws self.wb.activeself.ws.title Jobsself.ws.append([职位ID, 职位,工作地点, 薪资范围,学历要求, 公司详情])def open_spider(self, spider):passdef close_spider(self, spider):self.wb.save(51jobs.xlsx)def process_item(self, item, spider):company_detail, degree, job_id, location, salary, title get_infos(item)# self.ws.append([job_id, title, location, salary, degree, company_detail])self.ws.append((job_id, title, location, salary, degree, company_detail))return item编写数据库管道及建表 class DbPipeline:def __init__(self):self.conn pymysql.connect(hostlocalhost, port3306, userroot, passwordroot,dbspyder, charsetutf8mb4)self.cursor self.conn.cursor()def close_spider(self, spider):print(commit------------------------------)self.conn.commit()self.conn.close()def process_item(self, item, spider):company_detail, degree, job_id, location, salary, title get_infos(item)self.cursor.execute(insert into tb_51job_items (job_id, title, location, salary, degree, company_detail) values (%s,%s,%s,%s,%s,%s),(job_id, title, location, salary, degree, company_detail))return itemCREATE TABLE spyder.tb_51job_items (job_id varchar(100) NULL COMMENT 职位ID,title varchar(100) NULL COMMENT 职位,location varchar(100) NULL COMMENT 工作地点,salary varchar(100) NULL COMMENT 薪资范围,degree varchar(100) NULL COMMENT 学历要求,company_detail varchar(2000) NULL COMMENT 公司详情 ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_0900_ai_ci;配置管道及优先级 ITEM_PIPELINES {spider51job.pipelines.ExcelPipeline: 300,spider51job.pipelines.DbPipeline: 400 }编写中间件代码 def __init__(self):self.browser create_chrome_driver(headlessFalse)self.browser.get(https://jobs.51job.com)# 初始化时, 先访问主页, 得到cookie信息cookie_file 51job_cookies.json# 这边也可以先人工运行test_generate_cookies.py提前生成好cookies信息,下面直接add_cookies使用就可以了generate_cookies(self.browser, cookie_file)add_cookies(self.browser, cookie_file)def __del__(self):# 爬完关闭浏览器self.browser.close()def process_request(self, request, spider):# Called for each request that goes through the downloader# middleware.# Must either:# - return None: continue processing this request# - or return a Response object# - or return a Request object# - or raise IgnoreRequest: process_exception() methods of# installed downloader middleware will be calledself.browser.get(request.url)# time.sleep(5)if request.url.startswith(https://jobs.51job.com/beijing/p):wait_obj WebDriverWait(self.browser, 10)wait_obj.until(expected_conditions.presence_of_element_located((By.CSS_SELECTOR, #searchForm)))print(爬的时候可能也被反爬需要人工滑块!)# page_source这个可以获取到动态页面的源代码return HtmlResponse(urlrequest.url, bodyself.browser.page_source,encodingutf-8, requestrequest)总结 综上我们基本了解了“一项全新的技术啦” ~~ 恭喜你的内功又双叒叕得到了提高 感谢你们的阅读 后续还会继续更新欢迎持续关注哟~ 如果有错误❌欢迎指正呀 ✨如果觉得收获满满可以点点赞支持一下哟~✨ 【传知科技 – 了解更多新知识】
http://www.yayakq.cn/news/4151/

相关文章:

  • 阿里云网站更换域名青岛网站设计推广
  • c2c的电子商务网站有哪些个人介绍网页怎么设计
  • 遵义网站常州网站建设基本流程
  • 阳西县住房和城乡建设部网站申请免费个人网页
  • 统一手机网站宁波网站推广优化公司
  • 建设一个图片下载网站营销型网站建设菲凡网
  • 更改网站文章上传时间给公司做网站的公司
  • 网站无法连接mysqlwordpress已运行时间
  • 列举网站开发常用的工具网站后台登陆代码
  • 怎么自己做一个网站平台WordPress博客设置最新文章
  • 湖南网站设计外包费用网页原型图
  • 营销型网站开发流程包括网站建设投标书范本
  • 创建公司网站需要准备哪些素材青岛网站建设seo
  • 东莞公司品牌网站建设怎么写wordpress
  • 宁波网站推广优化公司怎么样做网站优势
  • 找别人做的淘客网站 会不会有问题网站备案好还是不备案好
  • 服装设计网站有哪些页面模板嵌入文章内
  • 网站的功能设计网站建设方案书填写示例
  • 做校园文化展览的网站网站制作的市场前景
  • 常用网站建设工具手机网站开发平台
  • 在线图片编辑尺寸网站优化建设郑州
  • 山西网站建设免费咨询模板下载器
  • 小豹子韬韬是哪个网站做的百度学术论文查重入口
  • 焦作专业做网站公司哪家好个人网站建立 学生
  • 网站推广方法素材微信公众平台注册方法
  • 网站建设平台简介网址大全查询ip地址
  • 肇庆网站制作系统营销型企业网站例子
  • 增城做网站要多少钱信用中国 网站 支持建设
  • 定制网站建设案例课堂长沙优化科技
  • 效果图网站推荐大全如何能进深圳好的设计公司网站