欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python Scrapy框架第一個(gè)入門程序示例

 更新時(shí)間:2020年02月05日 12:23:28   作者:hankleo  
這篇文章主要介紹了Python Scrapy框架第一個(gè)入門程序,結(jié)合實(shí)例形式分析了Python Scrapy框架項(xiàng)目的搭建、抓取字段設(shè)置、數(shù)據(jù)庫(kù)保存等相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了python Scrapy框架第一個(gè)入門程序。分享給大家供大家參考,具體如下:

首先創(chuàng)建項(xiàng)目:

scrappy start project maitian

第二步: 明確要抓取的字段items.py

import scrapy
class MaitianItem(scrapy.Item):
  # define the fields for your item here like:
  # name = scrapy.Field()
  title = scrapy.Field()
  price = scrapy.Field()
  area = scrapy.Field()
  district = scrapy.Field()

第三步: 在spider目錄下創(chuàng)建爬蟲文件: zufang_spider.py

2.1 創(chuàng)建一個(gè)類,并繼承scrapy的一個(gè)子類: scrapy.Spider

2.2 自定義爬取名, name="" 后面運(yùn)行框架需要用到;

2.3 定義爬取目標(biāo)網(wǎng)址

2.4 定義scrapy的方法

下面是簡(jiǎn)單項(xiàng)目:

import scrapy
from maitian.items import MaitianItem
class MaitianSpider(scrapy.Spider):
  name = "zufang"
  start_urls = ['http://bj.maitian.cn/zfall/PG1']
  def parse(self, response):
    for zufang_itme in response.xpath('//div[@class="list_title"]'):
      yield {
        'title': zufang_itme.xpath('./h1/a/text()').extract_first().strip(),
        'price': zufang_itme.xpath('./div[@class="the_price"]/ol/strong/span/text()').extract_first().strip(),
        'area': zufang_itme.xpath('./p/span/text()').extract_first().replace('㎡', '').strip(),
        'district': zufang_itme.xpath('./p//text()').re(r'昌平|朝陽(yáng)|東城|大興|豐臺(tái)|海淀|石景山|順義|通州|西城')[0],
      }
    next_page_url = response.xpath(
      '//div[@id="paging"]/a[@class="down_page"]/@href').extract_first()
    if next_page_url is not None:
      yield scrapy.Request(response.urljoin(next_page_url))

第四步: 在settings.py文件中設(shè)置數(shù)據(jù)保存到數(shù)據(jù)庫(kù)

.
.
.
ITEM_PIPELINES = {'maitian.pipelines.MaitianPipeline': 300,}
MONGODB_HOST = '127.0.0.1'
MONGODB_PORT = 27017
MONGODB_DBNAME = 'maitian'
MONGODB_DOCNAME = 'zufang'

第五步: 通過(guò)管道pipelines.py 連接上面的操作

import pymongo
from scrapy.conf import settings
class MaitianPipeline(object):
  def __init__(self):
    host = settings['MONGODB_HOST']
    port = settings['MONGODB_PORT']
    db_name = settings['MONGODB_DBNAME']
    client = pymongo.MongoClient(host=host, port=port)
    db = client[db_name]
    self.post = db[settings['MONGODB_DOCNAME']]
  def process_item(self, item, spider):
    zufang = dict(item)
    self.post.insert(zufang)
    return item

其中 middlewares.py 文件暫不處理

以上簡(jiǎn)單的scrapy爬蟲項(xiàng)目搭建完畢了

更多相關(guān)內(nèi)容可查看本站專題:《Python Socket編程技巧總結(jié)》、《Python正則表達(dá)式用法總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總

希望本文所述對(duì)大家基于Scrapy框架的Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • Pycharm創(chuàng)建python文件自動(dòng)添加日期作者等信息(步驟詳解)

    Pycharm創(chuàng)建python文件自動(dòng)添加日期作者等信息(步驟詳解)

    這篇文章主要介紹了Pycharm創(chuàng)建python文件自動(dòng)添加日期作者等信息(步驟詳解),本文分步驟給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-02-02
  • python+opencv實(shí)現(xiàn)論文插圖局部放大并拼接效果

    python+opencv實(shí)現(xiàn)論文插圖局部放大并拼接效果

    在做圖像數(shù)據(jù)標(biāo)注時(shí),很難一次就做到精準(zhǔn)標(biāo)注,如果目標(biāo)比較小,即使微調(diào)也難以做到精準(zhǔn),所以就需要另外一個(gè)窗口對(duì)標(biāo)注區(qū)域進(jìn)行局部放大以方便微調(diào),這篇文章主要給大家介紹了關(guān)于python+opencv實(shí)現(xiàn)論文插圖局部放大并拼接效果的相關(guān)資料,需要的朋友可以參考下
    2021-10-10
  • windows下python 3.9 Numpy scipy和matlabplot的安裝教程詳解

    windows下python 3.9 Numpy scipy和matlabplot的安裝教程詳解

    這篇文章主要介紹了windows下python 3.9 Numpy scipy和matlabplot的安裝教程詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • Python全面分析系統(tǒng)的時(shí)域特性和頻率域特性

    Python全面分析系統(tǒng)的時(shí)域特性和頻率域特性

    今天小編就為大家分享一篇Python全面分析系統(tǒng)的時(shí)域特性和頻率域特性,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-02-02
  • 解決pytorch中的kl divergence計(jì)算問(wèn)題

    解決pytorch中的kl divergence計(jì)算問(wèn)題

    這篇文章主要介紹了解決pytorch中的kl divergence計(jì)算問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • 利用Python查看微信共同好友功能的實(shí)現(xiàn)代碼

    利用Python查看微信共同好友功能的實(shí)現(xiàn)代碼

    這篇文章主要介紹了利用Python查看微信共同好友功能的實(shí)現(xiàn)代碼,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下
    2019-04-04
  • python實(shí)現(xiàn)在線翻譯

    python實(shí)現(xiàn)在線翻譯

    這篇文章主要介紹了python實(shí)現(xiàn)在線翻譯,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-06-06
  • 深入理解Pytorch中的torch. matmul()

    深入理解Pytorch中的torch. matmul()

    這篇文章主要介紹了Pytorch中的torch. matmul()的相關(guān)資料,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-04-04
  • 如何使用Python逆向抓取APP數(shù)據(jù)

    如何使用Python逆向抓取APP數(shù)據(jù)

    今天給大伙分享一下 Python 爬蟲的教程,這次主要涉及到的是關(guān)于某 APP 的逆向分析并抓取數(shù)據(jù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-05-05
  • Python中的map()、apply()、applymap()的區(qū)別小結(jié)

    Python中的map()、apply()、applymap()的區(qū)別小結(jié)

    map()、apply()和applymap()方法是Python中常用的轉(zhuǎn)換方法,,輸出的結(jié)果及類型完全取決于作為給定方法的參數(shù)的函數(shù),本文就來(lái)介紹一下這三種方法的區(qū)別,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-10-10

最新評(píng)論