scrapy爬蟲資料存到mongodb中
其實主要是前兩步
1、在settings.py中進行配置
item_pipelines =
mongodb_host = '127.0.0.1'
mongodb_port = 27017
mongodb_dbname = 'spider1'
mongodb_docname = 'book_item'
2、修改pipeline檔案
首先初始化獲得settings中的mongodb資料庫資訊,在process_item提交插入資料。
注意這個settings是**的 x.conf
from scrapy.conf import settings
import pymongo
class dmozpipeline(object):
# def process_item(self, item, spider):
# return item
def __init__(self):
port = settings['mongodb_port']
host = settings['mongodb_host']
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):
book_info = dict(item)
self.post.insert(book_info)
return item
3.dmoz_item.py
import scrapy
from dmoz.items import dmozitem
class dmozitemspider(scrapy.spider):
name = "dmoz_item"
#allowed_domains = ["dmoz.org"]
start_urls = ['']
# name = "dmoz_item"
# allowed_domains = ["domz.org"]
# start_urls = ['']
def parse(self, response):
list=response.xpath('/html/body/div[5]/div/section[3]/div/div/div/div[3]')
for i in list:
item=dmozitem()
item['link']=i.xpath('a/@href').extract()
item['title']=i.xpath('a/div/text()').extract()
item['desc']=i.xpath('div/text()').extract()
yield item
4.items.py
import scrapy
class dmozitem(scrapy.item):
# define the fields for your item here like:
# name = scrapy.field()
title=scrapy.field()
desc=scrapy.field()
link=scrapy.field()
執行這個爬蟲就ok了 Python爬取小說 2 單章節爬取
coding utf 8 urlopen 開啟 request 請求 from urllib.request import urlopen,request 匯入gzip包 解壓gzip 封裝請求 req request url path,headers headers 開啟鏈結 conn urlop...
python動態爬取知乎 python爬取微博動態
在初學爬蟲的過程中,我們會發現很多 都使用ajax技術動態載入資料,和常規的 不一樣,資料是動態載入的,如果我們使用常規的方法爬取網頁,得到的只是一堆html 沒有任何的資料。比如微博就是如此,我們可以通過下滑來獲取更多的動態。對於這樣的網頁該如何抓取呢?我們以微博使用者動態為例,抓取某名使用者的文...
爬取電影資源之網頁爬取篇(python)
6v電影網的主頁分為三列,如下圖所示。該網每天會推薦一些電影 如上圖中的 今日推薦 電影質量還算可以,大部分電影評分還行。所以這部分及是我們現在要提取的部分。然後我們檢視其原始碼,找到該部分的 還是很好找的,網頁結構比較簡單 見下圖 為了驗證找到的 區域是否為我們需要的,可以把圖中框出的 複製到乙個...