crawlspider

简介: crawlspider

spider的子类,主要用于全站数据的爬取

使用

# 创建一个工程
scrapy startproject XXX

# 进工程路径
cd XXX

# 创建爬虫文件
scrapy genspider -t crawl XXX www.XXX.com

# 运行
scrapy crawl XXX

规则解析器遇到重复的会自动删掉,不需要手动

# 注意,该网站有反爬机制
import scrapy
from scrapy.linkextractors import LinkExtractor
from scrapy.spiders import CrawlSpider, Rule


class SunSpider(CrawlSpider):
    name = 'sun'
    start_urls = ['https://wz.sun0769.com/political/index/politicsNewest']

    # 在起始页面中提取符合规则的链接,然后对其调用parse——item解析
    rules = (
        # 提取的还是源文件,不是动态加载的
        # follow=True:可以将链接提取器到提取到的链接中,从而爬取整个页码;设为false只能提取起始页面中的内容
        Rule(LinkExtractor(allow=r'id=1&page=\d+'), callback='parse_item', follow=True),
    )

    def parse_item(self, response):
        print(response) #这里只能提取出html中有的两个链接
        # item = {}
        # #item['domain_id'] = response.xpath('//input[@id="sid"]/@value').get()
        # #item['name'] = response.xpath('//div[@id="name"]').get()
        # #item['description'] = response.xpath('//div[@id="description"]').get()
        # return item
目录
相关文章
|
6月前
|
Python
pycharm通行证更新问题
pycharm通行证更新问题
152 0
|
6月前
全民k歌 and B站 爬取
全民k歌 and B站 爬取
94 0
|
6月前
|
定位技术 容器
openlayers
openlayers
147 1
openlayers
|
6月前
vscode中可能遇到的一些问题
vscode中可能遇到的一些问题
252 1
|
6月前
设置selenium默认下载位置
设置selenium默认下载位置
287 1
|
6月前
|
Python
PyEMD包安装导入踩坑
PyEMD包安装需要注意的地方
305 1
|
6月前
|
人工智能 并行计算
matlab下的并行循环
解决matlab多层for导致运行速度慢的问题
246 1
|
6月前
获取京东cookie
获取京东cookie
107 0
获取京东cookie
|
6月前
|
数据可视化 数据处理 Python
python处理NetCDF格式文件
python处理NetCDF格式文件
168 0
python处理NetCDF格式文件
|
6月前
|
Python
python中ndarray与list转换的方法
python中ndarray与list转换的方法
126 0