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

长沙o2o网站制作公司外链网址

长沙o2o网站制作公司,外链网址,手机网站建设 小程序,网站的ip地址香港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.yidumall.com/news/53175.html

相关文章:

  • 武汉网络问政平台百度推广的优化软件
  • 帮别人建网站做诈骗的要判刑吗最新病毒感染什么症状
  • 资源库网站建设的总结seo站长工具是什么
  • 怎么更换网站的域名舆情监测软件免费版
  • 网站建设靠谱公司阿里指数怎么没有了
  • 校园云网站建设最新seo教程
  • 渝北网站建设网站为什么要seo?
  • 一个页面的html5网站模板 psd旅游企业seo官网分析报告
  • 个人网站做装修可以吗营销广告网站
  • 做的网站不能放视频山西网站seo
  • 做游戏ppt下载网站有哪些内容营销软文模板
  • 做满屏网站的尺寸旅游景点推广软文
  • 大连有几家做网站的公司app推广文案
  • 公司网站建设应注意什么免费服务器
  • 百度网站怎么做视频播放器厦门seo外包平台
  • 芮城做网站的机构公众号推广合作平台
  • 徐州市工程建设交易平台专业黑帽seo推广
  • 常州市城乡建设局网站seo优化公司如何做
  • 怎么才服务器上做网站成人职业培训机构
  • 网站上做扫一扫wordpress免费建站
  • 有网站如何做app免费行情软件网站下载大全
  • 节能网站源码凌哥seo
  • 公司网站怎么登录seo赚钱
  • 公司做网站费用怎么记账千博企业网站管理系统
  • 网站查询ip地址网站优化系统
  • 江苏淮阴水利建设有限公司网站北京外包seo公司
  • 关于开通网站建设的请示色盲测试图免费测试
  • 网站建设合同制爱站网挖掘关键词
  • 哪些网站可以做任务赚钱的电子商务网站开发
  • 产品如何做网站地图合肥网站制作公司