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

重庆制作网站的公司排名wordpress插件如何使用教程

重庆制作网站的公司排名,wordpress插件如何使用教程,网站建设公司怎么做的,软件二次开发1 scrapy解析数据 1.1 使用css选择器解析数据 1.2 xpath 解析数据 2 配置文件 3 整站爬取博客–》爬取详情–》数据传递 scrapy 爬虫框架补充 # 1 打码平台---》破解验证码-数字字母:ddddocr-计算题,滑块,成语。。。-云打码,超…

1 scrapy解析数据
1.1 使用css选择器解析数据
1.2 xpath 解析数据

2 配置文件
3 整站爬取博客–》爬取详情–》数据传递

scrapy 爬虫框架补充

# 1 打码平台---》破解验证码-数字字母:ddddocr-计算题,滑块,成语。。。-云打码,超级鹰:demo---》request携带图片发送请求# 2 通过打码平台登录打码平台-浏览器 缩放调100%-mac: 坐标都乘以2# 3 自动登录(京东,12306)---》扫码登录---》拿到二维码---》在本地把二维码弹出来,让用户扫码,可能有很多手机---》每个手机扫一遍---》登录很多账号---》存到cookie池中---》给其他程序用# 4 12306抢票-没有任何第三方 是官方授权的抢票---》第三方全是爬虫-高铁管家(只有一个好用---跨站搜索)-登录---》输入你的用户名和密码--1 加载了12306网页  2 用户名密码输入)---》拿到你的cookie-cookie池(2000条cookie)-有些登录才能访问的接口:随机从cookie拿一条cookie-候补补票# 4 selenium 爬取京东商品信息-需要登录
# 5 scrapy 爬虫框架
# 6 架构引擎爬虫调度器下载器存储pipline# 命令scrapy startproject 项目名scrapy genspider 爬虫名 爬取地址scrapy crawl 爬虫# 目录结构

在这里插入图片描述

1 scrapy解析数据

##### 运行爬虫
scrapy crawl cnblogs##### 可以项目目录下写个main.py
from scrapy.cmdline import execute
execute(['scrapy','crawl','cnblogs','--nolog'])#### 重点
1 response对象有css方法和xpath方法-css中写css选择器     response.css('')-xpath中写xpath选择   response.xpath('')
2 重点1-xpath取文本内容'.//a[contains(@class,"link-title")]/text()'-xpath取属性'.//a[contains(@class,"link-title")]/@href'-css取文本'a.link-title::text'-css取属性'img.image-scale::attr(src)'
3 重点2.extract_first()  取一个.extract()        取所有

1.1 使用css选择器解析数据

       def parse(self, response):article_list = response.css('article.post-item')# print(type(article_list))  # <class 'scrapy.selector.unified.SelectorList'>for article in article_list:title = article.css('a.post-item-title::text').extract_first()# print(name)author = article.css('a.post-item-author>span::text').extract_first()# print(author)url = article.css('a.post-item-title::attr(href)').extract_first()img = article.css('img.avatar::attr(src)').extract_first()desc = article.css('p.post-item-summary::text').extract()  # 文本内容可能放在第二个位置desc_content = desc[0].replace('\n', '').replace(' ', '')if not desc_content:desc_content = desc[1].replace('\n', '').replace(' ', '')print(f"""文章标题:{title}文章作者:{author}链接地址:{url}图片:{img}文章摘要:{desc_content}""")

1.2 xpath 解析数据

    def parse(self, response):article_list = response.xpath('//article[@class="post-item"]')for article in article_list:name = article.xpath('.//a[@class="post-item-title"]/text()').extract_first()# name = article.xpath('./section/div/a/text()').extract_first()author = article.xpath('.//a[@class="post-item-author"]/span/text()').extract_first()url = article.xpath('.//a[@class="post-item-title"]/@href').extract_first()img = article.xpath('./section/div/p/a/img/@src').extract_first()desc = article.xpath('./section/div/p/text()').extract()  # 文本内容可能放在第二个位置desc_content = desc[0].replace('\n', '').replace(' ', '')if not desc_content:desc_content = desc[1].replace('\n', '').replace(' ', '')print('''文章标题:%s文章作者:%s文章地址:%s头像:%s摘要:%s''' % (name, author, url, img, desc_content))

2 配置文件

#### 基础配置
# 项目名
BOT_NAME = "scrapy_demo"
# 爬虫所在路径
SPIDER_MODULES = ["scrapy_demo.spiders"]
NEWSPIDER_MODULE = "scrapy_demo.spiders"# 记住  日志级别
LOG_LEVEL='ERROR'# 请求头中的  USER_AGENT
USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36"# 是否遵循爬虫协议
ROBOTSTXT_OBEY = False# 默认请求头
#DEFAULT_REQUEST_HEADERS = {
#    "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
#    "Accept-Language": "en",
#}#爬虫中间件
#SPIDER_MIDDLEWARES = {
#    "scrapy_demo.middlewares.ScrapyDemoSpiderMiddleware": 543,
#}# 下载中间件
#DOWNLOADER_MIDDLEWARES = {
#    "scrapy_demo.middlewares.ScrapyDemoDownloaderMiddleware": 543,
#}# 持久化相关
#ITEM_PIPELINES = {
#    "scrapy_demo.pipelines.ScrapyDemoPipeline": 300,
#}### 高级配置(提高爬取效率)
#1 增加并发:默认16
默认scrapy开启的并发线程为32个,可以适当进行增加。在settings配置文件中修改
CONCURRENT_REQUESTS = 100
值为100,并发设置成了为100#2 提高日志级别:
在运行scrapy时,会有大量日志信息的输出,为了减少CPU的使用率。可以设置log输出信息为INFO或者ERROR即可。在配置文件中编写:
LOG_LEVEL = 'INFO'# 3 禁止cookie:
如果不是真的需要cookie,则在scrapy爬取数据时可以禁止cookie从而减少CPU的使用率,提升爬取效率。在配置文件中编写:
COOKIES_ENABLED = False# 4 禁止重试:
对失败的HTTP进行重新请求(重试)会减慢爬取速度,因此可以禁止重试。在配置文件中编写:
RETRY_ENABLED = False# 5 减少下载超时:
如果对一个非常慢的链接进行爬取,减少下载超时可以能让卡住的链接快速被放弃,从而提升效率。在配置文件中进行编写:
DOWNLOAD_TIMEOUT = 10 超时时间为10s

3 整站爬取cnblogs–》爬取详情–》数据传递

# 整站爬取:爬取所有页-解析出下一页 yield Request(url=next, callback=self.parse)爬取文章详情-解析出详情地址:yield Request(url=url, callback=self.detail_parser)多个Request之间数据传递yield Request(url=url,meta={'item':item})在解析的 response中 response.meta.get('item')
    def parse(self, response):article_list = response.xpath('//article[@class="post-item"]')for article in article_list:name = article.xpath('.//a[@class="post-item-title"]/text()').extract_first()# name = article.xpath('./section/div/a/text()').extract_first()author = article.xpath('.//a[@class="post-item-author"]/span/text()').extract_first()url = article.xpath('.//a[@class="post-item-title"]/@href').extract_first()img = article.xpath('./section/div/p/a/img/@src').extract_first()desc = article.xpath('./section/div/p/text()').extract()  # 文本内容可能放在第二个位置desc_content = desc[0].replace('\n', '').replace(' ', '')if not desc_content:desc_content = desc[1].replace('\n', '').replace(' ', '')# print('''# 文章标题:%s# 文章作者:%s# 文章地址:%s# 头像:%s# 摘要:%s# ''' % (name, author, url, img, desc_content))# 详情地址:url ----》想继续爬取详情item={'name':name,'url':url,'img':img,'text':None}yield Request(url=url, callback=self.detail_parser,meta={'item':item})#### 继续爬取下一页# next='https://www.cnblogs.com'+response.css('div.pager>a:last-child::attr(href)').extract_first()next = 'https://www.cnblogs.com' + response.xpath('//div[@class="pager"]/a[last()]/@href').extract_first()print(next)yield Request(url=next, callback=self.parse)# 逻辑---》起始地址:https://www.cnblogs.com---》回到了parse---》自己解析了(打印数据,继续爬取的地址)---》yield Request对象---》第二页---》爬完后又回到parser解析def detail_parser(self, response):print(len(response.text))item=response.meta.get('item')text=response.css('#cnblogs_post_body').extract_first()item['text']=text# 我们想把:上一个请求解析出来的  标题,摘要,图片 和这个请求解析出来的 文本合并到一起# 这个text 无法和 上面 parse解析出的文章标题对应上print(item)
http://www.sczhlp.com/news/102202/

相关文章:

  • 网站关键词怎样修改wordpress彩虹插件
  • 男女做羞羞的事网站佛山建设小学网站
  • 传统网站布局软件开发者模式
  • 晚安
  • 网站建设公司哪家珠宝 网站模板
  • 哪个网站做加盟深圳做电商平台网站建设
  • 免费建站平台排名wordpress的中文插件安装教程视频
  • 欣赏别人做的网站网站建设7个基本流程步骤有哪些
  • 国内建站平台排名服装网站建设准备
  • 企业网站建设哪家效果好ui培训班 qfedu
  • 网站后台的形成photoshop 做网站
  • 示范校建设验收网站上海公司注册商标流程及费用
  • 龙华网页设计公司网站视频模板在线制作网站
  • 网站实用性360免费建站不要钱
  • 网站源码本地演示如何利用互联网进行宣传推广
  • 什么网站可以做海报赚钱青海网站建设公司哪家好
  • 成都营销型网站建设熊掌号ui设计的细分研究方向包含哪几项
  • 重庆手机版建站系统信息制作网页和网站有啥不同
  • wordpress新用户站点手机做网站的网站
  • 自建外贸网站交互网站怎么做的
  • 互站网如何建立自己个人网站
  • les做ml网站质感设计网站
  • 企业网站html百度云网站建设和推广话术
  • 网站建设公司投融资分析财经类 直播类网站开发
  • 手机网站开发如何设置触摸功能最好网站建设公司
  • 陕西煤业化工建设集团有限公司网站客户网站回访
  • 正规建网站企业广17网站一起做网店
  • 沈阳公司建设网站广州中国建设银行网站首页
  • 网站开发的资料设备免费看看视频用什么软件好
  • 手机网店开店网站深圳全网营销系统