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

微网站与普通网站的区别seo培训学院

微网站与普通网站的区别,seo培训学院,动态网站建设课程,国家信用信息公示系统官网山东1、检查我们的scrapy版本。截至2020年11月29日,scrapy的版本为2.4.0,方法是在cmd命令行中 scrapy version 如果你也与我一样,使用这个版本,那么可以确定,你可以复现我的这篇教程。 2、创建项目。在cmd中scrapy startp…

1、检查我们的scrapy版本。截至2020年11月29日,scrapy的版本为2.4.0,方法是在cmd命令行中 scrapy version

如果你也与我一样,使用这个版本,那么可以确定,你可以复现我的这篇教程。

2、创建项目。在cmd中scrapy startproject text

这里我使用了text这个名字,如果你喜欢别的,也可以改成别的任何名字。如果你是新手,那么建议你还是像我一样照做,不然会在后面的代码里混淆掉。

2.1 创建一只爬虫。正如你在命令行中看到的提示那样,一般我们在创建完一个项目之后,马上就创建一只蜘蛛。

这时,我们已经完成了一只蜘蛛的创建,我们可以检查一下。使用pycharm打开这个项目,我们发现确实已经有一个example.py,这就是我们创建的蜘蛛的模块了。

这时,我们的准备工作算是完成了。

3、正式开始

3.1 定义我们需要的内容items.py

import scrapy
from scrapy.item import Item,Field
class TextItem(scrapy.Item):# define the fields for your item here like:# name = scrapy.Field()title = Field()  # 标题number = Field()  # 番号issuedate = Field()  # 发行时间actress = Field()  # 演员type = Field()  # 类型magent = Field()  # 磁力链接size = Field()  # 大小image_urls = scrapy.Field()  # 存储图片下载地址,必须是list列表形式,是下一步下载图片时图片的网页地址image = scrapy.Field()  # 存储图片下载地址及下载后的存储位置(相对路径)imagepath = scrapy.Field()  # 图片本地存储的位置torrent_urls = scrapy.Field()torrent = scrapy.Field()torrent_magnet = scrapy.Field()pass

 

3.2 编写蜘蛛。example.py

import scrapy
from text.items import TextItem  # 此处如果报错是pyCharm的原因
from scrapy.http import Requestclass ExampleSpider(scrapy.Spider):name = 'example'allowed_domains = ['bbs.xxxxxxxx.site']#抱歉这里是某网站的域名start_urls = ['https://xxxxxxxxxx',#抱歉这里是某网站的地址:)]def parse(self, response):book_urls = response.xpath('//td/a[@class="subject"]/@href').extract()for book_url in book_urls:book_url ="https://bbs.ojxqsc.site/2048/" + book_urlyield Request(book_url, callback=self.parse_read)def parse_read(self, response):title = str(response.xpath('//td[@class="tal h"]/text()').extract_first()).replace("\n主题 : 【新片原档首发】 ","")title = title.replace("\n","")title = title.replace("主题 : ","")title = title.replace("/", "")if (str(response.xpath('//div[@class="f14"]/text()').extract()).find('品番: ') >= 0):number = str(response.xpath('//div[@class="f14"]/text()').extract()).split('品番: ')[1].split("'")[0]else:number = 'null'if (str(response.xpath('//div[@class="f14"]/text()').extract()).find('影片容量:') >= 0):size =str(response.xpath('//div[@class="f14"]/text()').extract()).split('影片容量:')[1].split("'")[0]else:size ='null'if (str(response.xpath('//div[@class="f14"]/text()').extract()).find('発売日: ') >= 0):issuedate=str(response.xpath('//div[@class="f14"]/text()').extract()).split('発売日: ')[1].split("'")[0]else:issuedate='null'if (str(response.xpath('//div[@class="f14"]/text()').extract()).find('出演者: ')>=0):actress=str(response.xpath('//div[@class="f14"]/text()').extract()).split('出演者: ')[1].split("'")[0]else:actress = 'null'if(str(response.xpath('//*[@id="read_tpc"]/img/@src').extract_first())!="None"):print("筛选图片地址:"+str(response.xpath('//*[@id="read_tpc"]/img/@src').extract_first()))image = response.xpath('//*[@id="read_tpc"]/img/@src').extract_first()else:image = response.xpath('//*[@id="read_tpc"]/a[1]/img/@src').extract_first()  # 图片地址torrent_urls = response.xpath('//*[@id="read_tpc"]/a/@href').extract()for torrent_url in torrent_urls:print("所有的网址是:"+str(torrent_url))if("download" in str(torrent_url)):print("现在的网址是:" +str(torrent_url))yield Request(torrent_url, meta = {'image_urls':[image],'title':title,'number':number,'size':size,'issuedate':issuedate,'actress':actress},callback=self.parse_magnet, dont_filter=True)else:print("oh no!")def parse_magnet(self, response):torrent_magnet = response.xpath('//*[@class="uk-button "]/@href').extract_first()  # 图片地址print("现在的种子的内容是:" + str(torrent_magnet))item = TextItem()item['image_urls'] = response.meta['image_urls']item['title'] = response.meta['title']item['number']=response.meta['number']item['size'] = response.meta['size']item['issuedate'] = response.meta['issuedate']item['actress'] = response.meta['actress']print("图片地址:" + str(item['image_urls']))print("文件路径:" + str(item['title']))imagepath = str(response.meta['title'])item['imagepath'] = "G:\GOO\\"+ imagepath+".jpg"item['torrent_magnet'] = str(torrent_magnet)yield item

3.3 编写管道 pipelines.py

from scrapy.pipelines.images import ImagesPipeline
from scrapy.http import Request
import pymysql.cursorsclass TextPipeline(ImagesPipeline):def get_media_requests(self, item, info):for image_url in item['image_urls']:yield Request(image_url, meta={'mid_item': item['title']})def file_path(self, request, response=None, info=None):title = request.meta['mid_item']+".jpg"print("现在的标题是:"+title)return title
class MySQLPipeline(object):def __init__(self):# 连接数据库self.connect = pymysql.connect(host='127.0.0.1',  # 数据库地址port=3306,  # 数据库端口db='liab',  # 数据库名user='root',  # 数据库用户名passwd='123456',  # 数据库密码charset='utf8',  # 编码方式use_unicode=True)# 通过cursor执行增删查改self.cursor = self.connect.cursor()def process_item(self, item, spider):self.cursor.execute("""insert into code(title,number,size,issuedate,actress,imageurl,torrentmagnet)value (%s,%s,%s,%s,%s,%s,%s)""",  # 纯属python操作mysql知识,不熟悉请恶补(item['title'],item['number'],item['size'],item['issuedate'],item['actress'],item['imagepath'],# item里面定义的字段和表字段对应item['torrent_magnet'],  # item里面定义的字段和表字段对应))# 提交sql语句self.connect.commit()return item  # 必须实现返回

3.4 编写设置 setting.py

BOT_NAME = 'text'
SPIDER_MODULES = ['text.spiders']
NEWSPIDER_MODULE = 'text.spiders'
HTTPERROR_ALLOWED_CODES = [403]
HTTPERROR_ALLOWED_CODES = [404]
ROBOTSTXT_OBEY = True
ITEM_PIPELINES = {'text.pipelines.TextPipeline': 1,'text.pipelines.MySQLPipeline': 300,
}

到这里,我们的项目就结束了。简单说一下它的功能。第一是将封面下载到本地。第二是将其他字段保存在本地的数据库中,封面图片在数据库中的保持方式为图片的地址,而不是图片的数据流。

4、让我们测试一下!

4.1 项目的启动。我们可以在pycharm中的terminal窗口键入scrapy crawl example 

也可以在cmd窗口中使用相同的方法启动。

4.2 你可以在你的保存目录中找到这些图片。并且,你也可以在数据库中找到这些数据。

如果有什么地方不懂,欢迎留言或私信!

 

http://www.tj-hxxt.cn/news/81643.html

相关文章:

  • 商务网站的推广方法有哪些现在有哪些培训学校
  • 做侵权网站用哪里的服务器稳推广软文怎么写
  • 山东做网站的公司属于b2b的网站有哪些
  • 还有哪些方法让网站更加利于seoseo优化方案报价
  • 大庆做网站的公司关键词林俊杰mp3免费下载
  • 网站建设私人接单seo网站优化推广教程
  • 外贸网站源码网络推广网站推广方法
  • 网站建设与规划实训总结百度搜索推广的五大优势
  • 怎么在别人网站上做锚文本链接销售平台有哪些
  • 利用wps做网站kj6699的seo综合查询
  • 什么网站可以做家教找相似图片 识别
  • 河北石家庄疫情最新情况seo搜索引擎优化培训班
  • 微信网站制作合同北京知名seo公司精准互联
  • php是网站开发语言吗成人职业技能培训班
  • 客户说做网站价格高搜索引擎收录入口
  • 临沂做网站设计的公司企业公司网站建设
  • 网站后台用esayui做阿里云域名注册入口官网
  • 自己做的个人网站 csdn电商平台怎么搭建
  • 潜江做网站的公司有哪些临汾网络推广
  • 漳州市建设局网站6seo交流中心
  • 做集团网站的百度联盟个人怎么接广告
  • h5高端网站建设百度电商推广
  • 深圳建站公司网站运营管理
  • 网站类型潍坊网站排名提升
  • 低价网站建设费用预算网络软文营销案例
  • 建站魔方极速网站建设百度官方网页版
  • 在线制作图片免费的软件seo搜索引擎优化ppt
  • 购物网站开发费用日照网络推广公司
  • 网站做备案全网seo
  • 制作网站系统浙江短视频seo优化网站