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

长沙o2o网站制作公司电商网站开发平台

长沙o2o网站制作公司,电商网站开发平台,美食网站怎么做dw,怎么把网站做成软件CrawlSpider 1. CrawlSpider继承自scrapy.Spider 2. CrawlSpider可以定义规则,再解析html内容的时候,可以根据链接规则提取出指定的链接,然后再向这些链接发送请求,所以,如果有需要跟进链接的需求,意思就是…

CrawlSpider
1. CrawlSpider继承自scrapy.Spider
2. CrawlSpider可以定义规则,再解析html内容的时候,可以根据链接规则提取出指定的链接,然后再向这些链接发送请求,所以,如果有需要跟进链接的需求,意思就是爬取了网页之后,需要提取链接再次爬取,使用Crawlspider是非常合适的

使用scrapy shell提取:

1. 在命令提示符中输入: scrapy shell https://www.dushu.com/lianzai/1115.html

2. 导入链接提取器:from scrapy.linkextractors import LinkExtractor

3.  allow = () :正则表达式 ,提取符合正则的链接

5. 查看连接提取器提取的内容 

6. restrict_xpaths = () :xpath语法,提取符合xpath规则的链接

查看提取的内容:


7. restrict_css = ()  :提取符合选择器规则的链接

 小案例:

1. 创建项目:scrapy startproject 项目名

2. 跳转到spider目录下: cd .\项目名\项目名\spiders\

3. 创建爬虫类:scrapy genspider -t crawl 爬虫文件名 要爬取的网页 (这里与之前的不一样)

4. 运行:scrapy crawl  爬虫文件名

指定日志等级:(settings.py文件中)
LOG_LEVEL = "DEBUG"
将日志保存在文件中:  .log(settings.py文件中)
LOG_FILE = "logdemo.log"

callback只能写函数字符串
follow=true 是否跟进 就是按照提取连接规则进行提取

爬虫文件:

import scrapy
from scrapy.linkextractors import LinkExtractor
from scrapy.spiders import CrawlSpider, Rule
from scrapy_readbook_20240120.items import ScrapyReadbook20240120Itemclass RbookSpider(CrawlSpider):name = "rbook"allowed_domains = ["www.dushu.com"]start_urls = ["https://www.dushu.com/lianzai/1115_1.html"]rules = (Rule(LinkExtractor(allow=r"/lianzai/1115_\d+.html"),callback="parse_item",follow=False),)def parse_item(self, response):print("++++++++++++++++++++")img_list = response.xpath("//div[@class='bookslist']//img")for img in img_list:src = img.xpath("./@data-original").extract_first()name = img.xpath("./@alt").extract_first()book = ScrapyReadbook20240120Item(name=name, src=src)yield book

pipelines.py文件

class ScrapyReadbook20240120Pipeline:def open_spider(self, spider):self.fp = open("book.json", "w", encoding="utf-8")def process_item(self, item, spider):self.fp.write(str(item))return itemdef close_spider(self, spider):self.fp.close()

items.py文件

import scrapyclass ScrapyReadbook20240120Item(scrapy.Item):# define the fields for your item here like:# name = scrapy.Field()name = scrapy.Field()src = scrapy.Field()

settings.py文件

# 开启管道
ITEM_PIPELINES = {"scrapy_readbook_20240120.pipelines.ScrapyReadbook20240120Pipeline": 300,
}

保存在数据库中:

1. 创建数据库

create database 数据库名字 charset utf8;

2. 使用数据库

use 数据库名字;

3. 创建表格 :例子

create table 表名(
    id int primary key auto_increment,
    name varchar(128),
    src varchar(128)
);

4. 在settings.py 文件中添加 ip地址、端口号、数据库密码、数据库名字、字符集

DB_HOST = "localhost"  # ip地址
DB_PORT = 3306  # 端口号,必须是整数
DB_USER = "root"  # 数据库用户名
DB_PASSWORD = "123456"  # 数据库密码
DB_NAME = "rbook"  # 数据库名字
DB_CHARSET = "utf8"  # 字符集,不允许写 -

 5. 在pipelines管道文件中增加

# 加载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"]  # ip地址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(host=self.host,port=self.port,user=self.user,password=self.password,db=self.name,charset=self.charset)self.cursor = self.conn.cursor()def process_item(self, item, spider):sql = "insert into rbook(name,src) values('{}','{}')".format(item["name"], item["src"])# 执行sql语句self.cursor.execute(sql)# 提交sql语句self.conn.commit()return itemdef close_spider(self, spider):# 关闭数据库链接self.cursor.close()self.conn.close()

6. settings文件:添加新的管道

ITEM_PIPELINES = {"scrapy_readbook_20240120.pipelines.ScrapyReadbook20240120Pipeline": 300,"scrapy_readbook_20240120.pipelines.MysqlPipeline": 301,
}

7. 若要一直下载,把所有数据都下载,则需要把爬虫文件里的 follow 的值设为 True

数据库的数据:

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

相关文章:

  • 重庆网站建设费用百度软件中心
  • 福清手机网站建设北京专业seo公司
  • 国内免费的ip地址东莞优化网站制作
  • 杨中市网站建设广州网站建设推广专家
  • 网站编辑做app营销方案包括哪些内容
  • 咸阳网站设计专业网站推广引流
  • 网上还有什么网站做批发网站推广在线推广
  • 扁平化的网站结构图盐城seo推广
  • 网站建立定位企划舟山百度seo
  • 中国水土保持与生态环境建设网站怎么做网络营销
  • 资阳做网站百度广告投放平台
  • 国内十大网站建设公司全球外贸b2b网站
  • 安徽合肥做网站深圳网站推广
  • 哪些网站可以做海报百度竞价是什么工作
  • 怎么上传网站数据库国内b站不收费网站有哪些
  • 网站设计的用途搜狗收录提交入口
  • 自己创建网站的注意事项站长工具使用方法
  • 垫江网站建设费用steam交易链接怎么获取
  • 在网站做登记表备案 如果修改互动营销案例分析
  • 聊城网站建设的地方移动网站如何优化排名
  • 佛山公众平台网站推广多少钱朝阳网站建设公司
  • 网站广告素材互联网行业最新资讯
  • 网站设计方案满足seo需求的网站
  • 揭阳建网站鞍山做网站的公司
  • 网页图片自动轮换百度seo搜索排名
  • 网站建设联盟网络营销专业大学排名
  • 青岛公司网站建设公司关键词挖掘长尾词
  • 微信分销网站建设哪家好如何让百度收录自己的网站信息
  • 网站怎么做安全可靠游戏推广话术
  • 自己做卖东西网站百度智能建站平台