Python爬虫——scrapy_crawlspider读书网

创建crawlspider爬虫文件:

base 复制代码
scrapy genspider -t crawl 爬虫文件名 爬取的域名

scrapy genspider -t crawl read https://www.dushu.com/book/1206.html

LinkExtractor 链接提取器通过它,Spider可以知道从爬取的页面中提取出哪些链接,提取出的链接会自动生成Request请求对象

python 复制代码
class ReadSpider(CrawlSpider):
    name = "read"
    allowed_domains = ["www.dushu.com"]
    start_urls = ["https://www.dushu.com/book/1206_1.html"]
	# LinkExtractor 链接提取器通过它,Spider可以知道从爬取的页面中提取出哪些链接。提取出的链接会自动生成Request请求对象
    rules = (Rule(LinkExtractor(allow=r"/book/1206_\d+\.html"), callback="parse_item", follow=False),)

    def parse_item(self, response):
        name_list = response.xpath('//div[@class="book-info"]//img/@alt')
        src_list = response.xpath('//div[@class="book-info"]//img/@data-original')


        for i in range(len(name_list)):
            name = name_list[i].extract()
            src = src_list[i].extract()

            book = ScarpyReadbook41Item(name=name, src=src)
            yield book

开启管道、

写入文件

python 复制代码
class ScarpyReadbook41Pipeline:
    def open_spider(self, spider):
        self.fp = open('books.json', 'w', encoding='utf-8')

    def process_item(self, item, spider):
        self.fp.write(str(item))
        return item

    def close_spider(self, spider):
        self.fp.close()

运行之后发现没有第一页数据

需要在start_urls里加上_1,不然不会读取第一页数据

python 复制代码
start_urls = ["https://www.dushu.com/book/1206_1.html"]
相关推荐
STLearner1 分钟前
AAAI 2026 | 时空数据(Spatial-temporal)论文总结[下](自动驾驶,天气预报,城市科学,POI推荐等)
人工智能·python·深度学习·机器学习·数据挖掘·自动驾驶·智慧城市
郝学胜-神的一滴13 分钟前
人工智能与机器学习:从理论到实践的技术全景
人工智能·python·程序人生·算法·机器学习
长安牧笛14 分钟前
开发中老年发型设计推荐系统,输入脸型,年龄,推荐适合的发型,提供效果图参考。
python
superman超哥16 分钟前
仓颉内存分配优化深度解析
c语言·开发语言·c++·python·仓颉
一车小面包18 分钟前
大模型与检索系统集成开发核心知识点总结
python
2401_8414956420 分钟前
并行程序设计与实现
c++·python·算法·cuda·mpi·并行计算·openmp
invicinble20 分钟前
java集合类(二)--map
java·开发语言·python
代码洲学长21 分钟前
文本数据分析的基础知识
python·自然语言处理·数据分析
xzl0424 分钟前
当使用 AutoTokenizer 加载百川(Baichuan)模型时出现 BaiChuanTokenizer 相关报错
人工智能·pytorch·python
前端程序猿之路27 分钟前
简易版AI知识助手项目 - 构建个人文档智能问答系统
前端·人工智能·python·ai·语言模型·deepseek·rag agent