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

网站开发中所需要的绘图工具网站建设优惠活动

网站开发中所需要的绘图工具,网站建设优惠活动,河东建设局网站,国外vi设计网站目录 免责声明 目标 过程 先修改配置文件 再修改pipelines.py 最后的结果是这样的 read.py pipelines.py items.py settings.py scrapy日志信息以及日志级别 settings.py文件设置 用百度实验一下 指定日志级别 WARNING 日志文件 注意 scrapy的post请求 简介 … 目录 免责声明 目标 过程 先修改配置文件 再修改pipelines.py 最后的结果是这样的 read.py pipelines.py items.py settings.py scrapy日志信息以及日志级别 settings.py文件设置 用百度实验一下 指定日志级别 WARNING 日志文件 注意  scrapy的post请求 简介 爬取百度翻译 总结 免责声明 本文章仅用于学习交流无任何商业用途 目标 这次我们要学习把爬取到的数据存入数据库之中 过程 先修改配置文件 settings中添加下面的内容 # todo 配置 mysql数据库 # 这里是我的阿里云地址你填你mysql的地址 DB_HOST xx.xx.xx.xx DB_PORT 3306 DB_USER root DB_PASSWORD 12345678 DB_NAME spider01 DB_CHARSET utf-8 再修改pipelines.py 添加下面的代码 class MysqlPipeline:def process_item(self, item, spider):return item 再添加配置 ITEM_PIPELINES {scrapy_readbook_090.pipelines.ScrapyReadbook090Pipeline: 300,# MysqlPipelinescrapy_readbook_090.pipelines.MysqlPipeline: 301 } 。。。。 最后的结果是这样的 read.py import scrapy from scrapy.linkextractors import LinkExtractor from scrapy.spiders import CrawlSpider, Rule from scrapy_readbook_090.items import ScrapyReadbook090Itemclass ReadSpider(CrawlSpider):name readallowed_domains [www.dushu.com]start_urls [https://www.dushu.com/book/1188_1.html]rules (Rule(LinkExtractor(allowr/book/1188_\d\.html),callbackparse_item,# true代表是否跟进# 打开follow为true就会爬取全部网页followTrue),)def parse_item(self, response):img_list response.xpath(//div[classbookslist]//img)for img in img_list:name img.xpath(./alt).extract_first()img_src img.xpath(./data-original).extract_first()book ScrapyReadbook090Item(namename, srcimg_src)yield bookpipelines.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 ItemAdapterclass ScrapyReadbook090Pipeline:def open_spider(self, spider):self.fp open(book.json, w, encodingutf-8)def process_item(self, item, spider):self.fp.write(str(item))return itemdef close_spider(self, spider):self.fp.close()# 加载settings文件 from scrapy.utils.project import get_project_settings import pymysqlclass MysqlPipeline:def open_spider(self, spider):settings get_project_settings()self.host settings[DB_HOST]self.port settings[DB_PORT]self.user settings[DB_USER]self.password settings[DB_PASSWORD]self.name settings[DB_NAME]self.charset settings[DB_CHARSET]self.connect()def connect(self):self.conn pymysql.connect(hostself.host,portself.port,userself.user,passwordself.password,dbself.name,charsetself.charset)# 可执行sql语句self.cursor self.conn.cursor()def process_item(self, item, spider):sql insert into book2(name,src) values({},{}).format(item[name], item[src])# 执行SQL语句self.cursor.execute(sql)# 提交self.conn.commit()return itemdef close_spider(self, spider):self.cursor.close()self.conn.close()items.py # Define here the models for your scraped items # # See documentation in: # https://docs.scrapy.org/en/latest/topics/items.htmlimport scrapyclass ScrapyReadbook090Item(scrapy.Item):# define the fields for your item here like:# name scrapy.Field()name scrapy.Field()src scrapy.Field() settings.py # Scrapy settings for scrapy_readbook_090 project # # For simplicity, this file contains only settings considered important or # commonly used. You can find more settings consulting the documentation: # # https://docs.scrapy.org/en/latest/topics/settings.html # https://docs.scrapy.org/en/latest/topics/downloader-middleware.html # https://docs.scrapy.org/en/latest/topics/spider-middleware.htmlBOT_NAME scrapy_readbook_090SPIDER_MODULES [scrapy_readbook_090.spiders] NEWSPIDER_MODULE scrapy_readbook_090.spiders# Crawl responsibly by identifying yourself (and your website) on the user-agent #USER_AGENT scrapy_readbook_090 (http://www.yourdomain.com)# Obey robots.txt rules ROBOTSTXT_OBEY True# Configure maximum concurrent requests performed by Scrapy (default: 16) #CONCURRENT_REQUESTS 32# Configure a delay for requests for the same website (default: 0) # See https://docs.scrapy.org/en/latest/topics/settings.html#download-delay # See also autothrottle settings and docs #DOWNLOAD_DELAY 3 # The download delay setting will honor only one of: #CONCURRENT_REQUESTS_PER_DOMAIN 16 #CONCURRENT_REQUESTS_PER_IP 16# Disable cookies (enabled by default) #COOKIES_ENABLED False# Disable Telnet Console (enabled by default) #TELNETCONSOLE_ENABLED False# Override the default request headers: #DEFAULT_REQUEST_HEADERS { # Accept: text/html,application/xhtmlxml,application/xml;q0.9,*/*;q0.8, # Accept-Language: en, #}# Enable or disable spider middlewares # See https://docs.scrapy.org/en/latest/topics/spider-middleware.html #SPIDER_MIDDLEWARES { # scrapy_readbook_090.middlewares.ScrapyReadbook090SpiderMiddleware: 543, #}# Enable or disable downloader middlewares # See https://docs.scrapy.org/en/latest/topics/downloader-middleware.html #DOWNLOADER_MIDDLEWARES { # scrapy_readbook_090.middlewares.ScrapyReadbook090DownloaderMiddleware: 543, #}# Enable or disable extensions # See https://docs.scrapy.org/en/latest/topics/extensions.html #EXTENSIONS { # scrapy.extensions.telnet.TelnetConsole: None, #}# todo 配置 mysql数据库 DB_HOST 8.137.20.36 # 端口号要是整形 DB_PORT 3306 DB_USER root DB_PASSWORD 12345678 DB_NAME spider01 # utf-8的 - 不要写 DB_CHARSET utf8# Configure item pipelines # See https://docs.scrapy.org/en/latest/topics/item-pipeline.html ITEM_PIPELINES {scrapy_readbook_090.pipelines.ScrapyReadbook090Pipeline: 300,# MysqlPipelinescrapy_readbook_090.pipelines.MysqlPipeline: 301 }# Enable and configure the AutoThrottle extension (disabled by default) # See https://docs.scrapy.org/en/latest/topics/autothrottle.html #AUTOTHROTTLE_ENABLED True # The initial download delay #AUTOTHROTTLE_START_DELAY 5 # The maximum download delay to be set in case of high latencies #AUTOTHROTTLE_MAX_DELAY 60 # The average number of requests Scrapy should be sending in parallel to # each remote server #AUTOTHROTTLE_TARGET_CONCURRENCY 1.0 # Enable showing throttling stats for every response received: #AUTOTHROTTLE_DEBUG False# Enable and configure HTTP caching (disabled by default) # See https://docs.scrapy.org/en/latest/topics/downloader-middleware.html#httpcache-middleware-settings #HTTPCACHE_ENABLED True #HTTPCACHE_EXPIRATION_SECS 0 #HTTPCACHE_DIR httpcache #HTTPCACHE_IGNORE_HTTP_CODES [] #HTTPCACHE_STORAGE scrapy.extensions.httpcache.FilesystemCacheStorage# Set settings whose default value is deprecated to a future-proof value REQUEST_FINGERPRINTER_IMPLEMENTATION 2.7 TWISTED_REACTOR twisted.internet.asyncioreactor.AsyncioSelectorReactor FEED_EXPORT_ENCODING utf-8最后是找到了4000条数据 可能是io进服务器的顺序问题军娃不是最后一个但是一页40本书一共100页也是没有一点毛病了。(* ^ ▽ ^ *) scrapy日志信息以及日志级别 Scrapy是一个基于Python的网络爬虫框架它提供了强大的日志功能。Scrapy的日志信息以及日志级别如下 DEBUG调试级别用于输出详细的调试信息一般在开发和测试阶段使用。 INFO信息级别用于输出一些重要的信息如爬虫的启动信息、请求的URL等。 WARNING警告级别用于输出一些不太严重的警告信息如某个网页的解析出错但不影响整个爬虫的执行。 ERROR错误级别用于输出一些错误信息如爬虫的配置出错、网络连接异常等。 CRITICAL严重级别用于输出一些非常严重的错误信息如爬虫的关键逻辑出错、无法连接到目标网站等。 默认的日志级别是DEBUG         Scrapy的日志信息可以在控制台中直接输出也可以保存到文件中。可以通过设置Scrapy的配置文件或使用命令行参数来调整日志级别和输出方式。 以下是Scrapy的日志信息的示例 2021-01-01 12:00:00 [scrapy.core.engine] INFO: Spider opened 2021-01-01 12:00:01 [scrapy.core.engine] DEBUG: Crawled 200 OK 2021-01-01 12:00:01 [scrapy.core.engine] DEBUG: Crawled 404 Not Found 2021-01-01 12:00:02 [scrapy.core.engine] WARNING: Ignoring response 404 Not Found 2021-01-01 12:00:02 [scrapy.core.engine] DEBUG: Crawled 200 OK 2021-01-01 12:00:02 [scrapy.core.engine] ERROR: Spider error processing GET http://example.com: Error parsing HTML 2021-01-01 12:00:03 [scrapy.core.engine] DEBUG: Crawled 200 OK 2021-01-01 12:00:03 [scrapy.core.engine] INFO: Closing spider (finished) 2021-01-01 12:00:03 [scrapy.statscollectors] INFO: Dumping Scrapy statssettings.py文件设置 默认的级别是DEBUG会显示上面的所有信息 在配置文件中 settings.py LOG_FILE : 将屏幕显示的信息全部记录到文件中屏幕不再显示注意文件后最有一定是 .log LOG_LEVEL : 设置日志的等级就是显示那些不显示那些 用百度实验一下 先把 “君子协议” 撕碎 # ROBOTSTXT_OBEY True 指定日志级别 WARNING 在settings.py中添加下述代码 # 指定日志的级别 LOG_LEVEL WARNING 是我在log.py中添加要打印的 就可以发现没有日志了 日志文件 我们先把上面配置的等级删除掉再加上下述的代码 # 日志文件 LOG_FILE logDemo.log 运行 世界依然清晰 但是日志已经存储在日志文件中了 注意  其实一般来说不要修改log的等级如果报错也太难发现是什么问题了所以一般为了控制台别打印那么多东西 scrapy的post请求 简介 在Scrapy中进行POST请求可以通过scrapy.FormRequest类来实现。下面是一个使用Scrapy进行POST请求的示例 import scrapyclass MySpider(scrapy.Spider):name example.comstart_urls [http://www.example.com/login]def parse(self, response):# 提取登录页的csrf tokencsrf_token response.css(input[namecsrf_token]::attr(value)).get()# 构建POST请求的表单数据formdata {username: myusername,password: mypassword,csrf_token: csrf_token}# 发送POST请求yield scrapy.FormRequest(urlhttp://www.example.com/login, formdataformdata, callbackself.after_login)def after_login(self, response):# 检查登录是否成功if response.url http://www.example.com/home:self.log(Login successful)# 处理登录成功后的响应数据# ...else:self.log(Login failed)在上面的示例中首先在parse方法中抓取登录页并提取登录页的csrf token。然后构建一个包含用户名、密码和csrf token的字典作为formdata参数传递给FormRequest对象。最后使用yield关键字发送POST请求并指定回调函数after_login来处理登录后的响应。 在after_login方法中可以根据响应的URL来判断登录是否成功。如果URL为登录后的首页URL则登录成功否则登录失败。可以在登录成功时做进一步的处理如抓取用户信息然后在控制台或日志中输出相应的信息。 需要注意的是Scrapy的POST请求默认使用application/x-www-form-urlencoded方式来编码数据。如果需要发送JSON或其他类型的请求可以通过设置headers参数来指定请求头如yield scrapy.FormRequest(urlhttp://www.example.com/login, formdataformdata, headers{Content-Type: application/json}, callbackself.after_login)。 另外如果需要在POST请求中上传文件可以使用scrapy.FormRequest的files参数将文件的路径作为值传递给表单字段。更多关于POST请求的用法和参数配置请查阅Scrapy官方文档。 爬取百度翻译 只需要修改testpost.py这个自己创建的文件就行了 import scrapy import jsonclass TestpostSpider(scrapy.Spider):name testpostallowed_domains [fanyi.baidu.com]# post请求如果没有参数那抹这个请求将没有任何的意义# 所以 start_urls 也是没有用# 而且 parse 方法也没有用了# 所以直接注释掉# TODO# start_urls [https://fanyi.baidu.com/sug]## def parse(self, response):# print()# post请求就使用这个方法def start_requests(self):url https://fanyi.baidu.com/sugdata {kw: final}yield scrapy.FormRequest(urlurl, formdatadata, callbackself.parse_second)def parse_second(self, response):content response.textobj json.loads(content, encodingutf-8)print(obj)总结 从2月29号到今天3月9号一共过去了十天完成了爬虫的入门从urllib到scrapy这条路很长但是也很简单中间的配置Python软件包的版本问题时常可以阻碍我的脚步但是我都一一将他们解决困难毕竟只是困难人定胜天我命由我不由天加油ヾ(◍°∇°◍) ヾ(▽)Bye~Bye~ 完结撒花
http://www.dnsts.com.cn/news/234565.html

相关文章:

  • 域名注册哪个网站最便宜微商城网站建设新闻
  • 服务器做网站用什么系统网站建设试用
  • 免费建站系统用易语言怎么做自动发卡网站
  • icp备案 网站网站建设怎么添加图片上去
  • 做外贸生意用哪个网站嵌入式是什么
  • 深圳微信网站制作青海高端网站建设价格
  • 设计型网站提高网站百度权重
  • 聊城做网站做的不错的网络公司wordpress 点点主题
  • 内蒙古城乡建设厅网站金昌市网站建设
  • 如何做免费网站东莞专业网站设计咨询
  • 做网站换域名wordpress 后台 500
  • wordpress漂亮手机网站模板wordpress 表格处理
  • 西安做网站的公司有哪些做外贸网站企业
  • 保定网站排名哪家公司好wordpress安装博客
  • 成品网站管理系统做推广的网站带宽需要多少合适
  • 门户网站开发报价单建设网站的网站空间
  • 哪个网站是用vue做的荆州市城市建设投资开发有限公司网站
  • 东莞网站制作个性化去除wordpress版本号
  • 网站做外国生意免费制作地图app
  • 个人网站asp做网站运营的简历
  • 长沙好的网站优化品牌网站建设需要哪些步骤
  • 简单的手机网站模板怎样做一个公司网站
  • 天津市城乡建设网如何优化网站速度
  • 湖州哪里做网站深圳网页设计网页制作
  • 旅游网站建设目标分析青岛网站建设推广公司哪家好
  • 可以用自己的电脑做网站主机盗版网站怎么做的
  • 广东网站建设软件关于加强门户网站建设
  • 旅游前 做攻略有什么网站好用推广引流系统
  • 太原模板建站平台建设网站贵吗
  • 外贸购物网站开发营销策略从哪几个方面分析