国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python Scrapy框架第一個入門程序示例

2020-02-15 21:23:25
字體:
來源:轉載
供稿:網友

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

首先創建項目:

scrappy start project maitian

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

import scrapyclass 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目錄下創建爬蟲文件: zufang_spider.py

2.1 創建一個類,并繼承scrapy的一個子類: scrapy.Spider

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

2.3 定義爬取目標網址

2.4 定義scrapy的方法

下面是簡單項目:

import scrapyfrom maitian.items import MaitianItemclass 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'昌平|朝陽|東城|大興|豐臺|海淀|石景山|順義|通州|西城')[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文件中設置數據保存到數據庫

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

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

import pymongofrom scrapy.conf import settingsclass 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 文件暫不處理

以上簡單的scrapy爬蟲項目搭建完畢了

更多相關內容可查看本站專題:《Python Socket編程技巧總結》、《Python正則表達式用法總結》、《Python數據結構與算法教程》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》、《Python入門與進階經典教程》及《Python文件與目錄操作技巧匯總》

希望本文所述對大家基于Scrapy框架的Python程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 潞城市| 敦化市| 怀集县| 永修县| 辛集市| 同江市| 科技| 兴和县| 兴安县| 滦南县| 阳信县| 鄂托克旗| 石柱| 临清市| 铅山县| 科技| 贵州省| 上饶县| 南江县| 江门市| 太谷县| 玉树县| 浮梁县| 永济市| 河曲县| 革吉县| 蒙山县| 尉氏县| 望谟县| 方正县| 比如县| 都安| 青川县| 巴楚县| 壶关县| 会昌县| 西青区| 萨迦县| 博湖县| 于田县| 枣阳市|