Python Scrapy爬虫框架如何使用

技术Python Scrapy爬虫框架如何使用本篇内容介绍了“Python Scrapy爬虫框架如何使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希

本文介绍了关于“如何使用Python爬虫框架”的知识。很多人在实际办案过程中都会遇到这样的困难。接下来,让边肖带领大家学习如何应对这些情况!希望大家认真阅读,学点东西!

1、项目创建

创建一个剪贴簿项目非常简单。一般来说,为了快速创建,可以通过终端直接输入以下代码:

scrapystartprojectzhuanti_new

如果你想在不同的文件中创建这个项目,你需要先找到相应的文件路径。当然也可以通过pycharm点击对应文件左下角的终端直接创建,项目会在对应的项目文件中直接创建一个Scrapy项目。

Python  Scrapy爬虫框架如何使用

2、Scrapy项目文件介绍

下面的截图展示了一个Scrapy项目有哪些文件,需要同时创建和生成哪些文件,后面会一一介绍。

Python  Scrapy爬虫框架如何使用

(1)顶层zhuanti_new文件夹是Scrapy的项目名称。

(2)第二层有4个文件:

第一个:和项目同名的文件就是我们通常所说的爬虫包,所有的爬虫代码都在这个包里。

第二个:main文件,是用来运行这个项目的主要功能代码文件。代码编写完成后,它将作为一个整体在这个文件中运行。

3号:配置文件,说明默认设置文件的位置是Juanti _ new模块下的设置文件,将项目名称定义为Juanti _ new。

第4:用于存储搜索结果的txt文件

对于第一个文件中的关键代码文件,请逐一介绍:

(1)items.py文件:定义爬虫捕获的字段信息。

Python  Scrapy爬虫框架如何使用

(2)pipelines.py文件:主要用于数据处理、清洗和存储。

Python  Scrapy爬虫框架如何使用

(3)settings.py:主要用于设置请求头、告警处理等相关问题。

Python  Scrapy爬虫框架如何使用

(4) Zhuantspider.py文件:专注于数据抓取过程的代码文件,也是新建立的文件。

代码如下:

从zhuanti_new.items导入zhuantiewiteimport scrapy from scrapy . selector class导入jianuspiderspider(scrapy。spider): name=' zhantispider ' allowed _ domain=[' jianshu.com ']start _ URL=[' https://www . jianshu.com/records?page=1 order _ by=hot ']# print(start _ URL)def parse(self,response) : ' '解析外部页面'''选择器=selector (response) nbsp

; partical_urls = selector.re('<div class="count"><a target="_blank" href="(.*?)">', selector)       for url in partical_urls:           print(url)           right_url = response.urljoin(url)           #print(right_url)           parts = ['?order_by=added_at&page={0}'.format(k) for k in range(1, 11)]           for part in parts:               # 要爬取每个专题的前10个文章的信息               real_url = right_url + part               #print(real_url)               yield scrapy.Request(real_url, callback=self.parse_detail)
      links = ['https://www.jianshu.com/recommendations/collections?page={}&order_by=hot'.format(i) for i in                range(2, 3)]       for link in links:           print(link)           request = scrapy.Request(link, callback=self.parse)           yield request
  def parse_detail(self, response):       selector = Selector(response)       content = selector.xpath('//div[@class="content"]')       for detail in content:           try:               title = detail.xpath('a[1]/text()').extract_first()               summary = detail.xpath('p/text()').extract_first().strip()               author = detail.xpath('div/a[1]/text()').extract_first()               # comments = detail.xpath('div/a[2]/text()').extract_first()这样是不行的               comments = detail.xpath('div/a[2]/text()').extract()[1].strip()               likes = detail.xpath('div/span[1]/text()').extract_first().strip()               money = detail.xpath('div/span[2]/text()').extract_first()
              item = ZhuantiNewItem()               if money is not None:                   item['title'] = title                   item['summary'] = summary                   item['author'] = author                   item['comments'] = comments                   item['likes'] = likes                   item['money'] = money.strip()               else:                   item['title'] = title                   item['summary'] = summary                   item['author'] = author                   item['comments'] = comments                   item['likes'] = likes               print(item)               yield item           except:               pass

以上就是最主要的几个文件,对于初学者只要按照对应要求完成这几个文件的代码填写就可以爬取到数据。

3、案例运行及结果

现在开始运行整体代码,就需要创建上述的main文件了,具体main文件代码如下:

Python Scrapy爬虫框架如何使用

运行的爬虫文件为:zhuantispider,务必不要写成Scrapy项目名称

爬取运行结果如下:

Python Scrapy爬虫框架如何使用

“Python Scrapy爬虫框架如何使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/113490.html

(0)

相关推荐

  • 31种土豆家常做法,土豆有多少种做法

    技术31种土豆家常做法,土豆有多少种做法来给你说点家常的做法 131种土豆家常做法、最简单的做法就是酸辣土豆丝(土豆片)了。。。
    佐料有:干辣皮(切成段),葱(切成段),蒜(切成片),青椒(切成丝)
    首先把土豆切好,

    生活 2021年10月30日
  • 田鸡的做法,水煮田鸡的正宗做法王刚

    技术田鸡的做法,水煮田鸡的正宗做法王刚1田鸡买的时候让杀好,砍成块,头跟爪子不要,清洗干净,用醋田鸡的做法、生抽、料酒、姜丝、蒜头腌制一会
    2
    花菜撕成小朵,仔细清洗沥干备用(也可以换成白菜,豆芽,黄瓜,木耳)
    3
    花椒

    生活 2021年10月28日
  • 非常值得一看的电视剧,有什么你反复在看的剧推荐

    技术非常值得一看的电视剧,有什么你反复在看的剧推荐每人喜欢的类型不同,我前段时间迷上了商战剧,推荐看《乔家大院》。理由有三非常值得一看的电视剧:一,情怀,剧情设计,积极向上。以山西商人为背景,讲述了当地人做生意的规则,互

    生活 2021年10月25日
  • 三戒是哪三戒,谁来回答下哪三戒哪四律!

    技术三戒是哪三戒,谁来回答下哪三戒哪四律!君子有三戒 孔子,在生活上主张,君子有三条戒规:少年时戒美色;壮年时戒殴斗;老年时戒贪图三戒是哪三戒。“君子有三戒,少之时,血气未足,戒之在色;及其壮也,血气方刚,戒之在斗;及其

    生活 2021年10月22日
  • JavaScript实现的人脸检测方法是怎样的

    技术JavaScript实现的人脸检测方法是怎样的这篇文章给大家介绍JavaScript实现的人脸检测方法是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。我一直对视频和图片中的人脸标记、检测和

    攻略 2021年11月17日
  • 怎么解决关于Zabbix忘记admin登录密码的问题

    技术怎么解决关于Zabbix忘记admin登录密码的问题本篇内容主要讲解“怎么解决关于Zabbix忘记admin登录密码的问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎

    攻略 2021年11月2日